设计“网络聊天”程序(DLL实现) .ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计“网络聊天”程序(DLL实现)

;7.1.1 功能描述 在列表控件中选择用户,或在“发送给”组合框中选择接收人后,输入发送的消息内容,然后单击“发送信息”按钮将发送消息,如图7.1所示。如果选中“所有人”复选框后,那么消息内容或文件将被发送给局域网中的所有用户。 ;单击窗口上的“发送文件”按钮,将弹出一个文件“打开”对话框以选择需要发送的文件,如图7.2所示。;当接收到文件后,弹出一个消息提示框并询问是否接收文件,如图7.3所示,如果单击“是”按钮则开始接收文件。 ;在创建套接字类动态链接库时,使用MFC创建常规的动态链接库,并在应用程序中隐式加载该动态链接库;在创建多线程动态链接库时,使用MFC创建扩展的动态链接库,并以动态显示的方式加载该动态链接库。 ;;;;;4.函数调用约定 函数的调用约定指定了函数在被调用时,其函数参数入栈的顺序和产生函数修饰名的方法,以??指定由调用者还被调用者管理堆栈。常见的调用约定见表7.2。 ;在Windows中提供这些调用方式定义相应的宏以方便在程序中使用,这些宏都定义在windef.h头文件中。常见的Windows调用约定宏见表7.3。 ;1.创建非MFC动态链接库 选择“文件”→“新建”菜单命令,弹出“新建项目”对话框。在对话框中的“项目类型”窗格中选择“Visual C++”项下的“Win32”,然后在“模板”窗格中选择“Win32”项目。指定项目名称及保存路径后,单击“确定”按钮并通过“Win32应用程序向导”选择创建DLL项目,如图7.4所示。 ;2.创建常规动态链接库 在“新建项目”对话框中,选择“Visual C++”项下的“MFC”项目类型,然后在“模板”窗格中选择“MFC DLL”,指定项目的名称及保存路径并单击“确定”按钮。在弹出的“MFC DLL向导”对话框页面中选择“使用共享MFC DLL的规则DLL”单选按钮,创建常规动态链接库项目,如图7.5所示。 ;;3.创建扩展动态链接库 同样在“MFC DLL向导”对话框中,选择“MFC扩展DLL”可以创建MFC扩展动态链接库项目,如图7.5所示。 创建的MFC扩展动态链接库项目中仅包含一个DLL入口函数DllMain。然后,选择“项目”→“添加类”菜单命令向项目中添加导出的类,并在类名前添加AFX_EXT_CLASS宏来声明该类可以被导出动态链接库。 ;1.隐式链接 有两种方法可以将lib文件添加到工程中。一种方法是:在解决方案资源管理器中选择项目名称并右击,在弹出的快捷菜单中选择“属性”菜单命令,或者选择“项目”→“属性”菜单命令,弹出该项目的属性页对话框,然后选择“配置属性”→“链接器”→“输入”菜单命令,在“附加依赖项”属性栏中指定需要导入的lib库文件的全路径名,如图7.6所示。 ;;;;在使用显式链接方式调用DLL时,操作系统在加载应用程序时并不会将该应用程序所有引用的DLL都加载到内存中,而是在使用某个DLL时再将其载入。在对DLL加载的过程中,Windows将遵循下面的有哪些信誉好的足球投注网站顺序来查找DLL: (1)包含可执行文件(exe)的目录; (2)进程的当前目录; (3)Windows系统目录; (4)系统中Windows目录; (5)PATH环境变量中的目录。 ;7.3.1 创建NetChat项目 (1)选择“文件”→“新建”→“项目”菜单命令,弹出“新建项目”对话框。在对话框中选择“MFC”项目类型,并在模板窗格中选择“MFC应用程序”。指定新项目的名称为NetChat及该项目保存的位置,然后选中“创建解决方案的目录”复选框。单击“确定”按钮创建一个基于对话框的应用程序,并取消“使用Unicode库”及允许“使用Windows套接字”功能。 (2)向对话框模板中添加相应的控件,并为这些控件添加成员变量。同时,在CNetChatDlg类的OnInitDialog函数中初始化列表控件。 ;;;;(1)选择“文件”→“新建”→“项目”菜单命令,弹出“新建项目”对话框并创建一个“MFC DLL”模板的项目ChatSock,然后指定该项目保存的路径,并在“解决方案”下拉列表中选择“添入解决方案”项,单击“确定”按钮,并弹出“MFC DLL向导”对话框。 ;(2)在对话框中的“应用程序设置”向导页面中选择“DLL类型”为“MFC扩展DLL”,并在“附加功能”项中选中“Windows套接字”复选框,如图7.7所示。然后,单击“完成”按钮新建ChatSock项目。 ;(3)在解决方案资源管理器中选择ChatSock,并选择“项目”→“添加类”菜单命令,在弹出的“添加类”对话框中选择“MFC类”并单击“添加”按钮,然后,通过MFC类向导为项目添加CUDPSocket类,并指定该类的基类为CSocket,如图7.8所示。 ;;;;(1)选择“文件”→“新建”→“

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档