- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 6.4 CAsyncSocket类的应用实例 6.4.1 实现目标 应用实例是一个简单的聊天室程序,采用客户/服务器模式,分为客户端程序和服务器端程序。由于服务器只能支持一个客户,实际是一个点对点通信的程序。客户端程序和服务器程序通过网络交换聊天的字符串内容,并在窗口的列表框中显示。 实例程序的技术要点是: 如何从CAsyncSocket类派生出自己的WinSock类。 理解WinSock类与应用程序框架的关系。 重点学习流式套接字对象的使用。 处理网络事件的方法。 6.4.2 创建客户端应用程序 1.使用MFC AppWizard创建客户端应用程序框架。 (1)在New对话框中,选择Projects卡,如图6.4所示。从左边的列表框中选择MFC AppWizard(exe)条目,在右边的Project Name处填入工程名Talkc,在Location处选定存放此工程的目录。然后点击OK按钮。 (2)出现MFC AppWizard设置的第一步对话框(MFC AppWizard – Step 1),如图6.5所示。从中选择Dialog based的应用程序类型,语言支持选择中文(中国),使此工程能够正确地进行中文的输入、输出、显示及处理。然后点击NEXT按钮。 (3)出现MFC AppWizard设置的第二步对话框(MFC AppWizards – Step 2 of 4),如图6.6所示,在Windows Sockets复选框上打上选择标记,表示应用程序将支持WinSock套接字。接受其它的默认设置。跳过后面的步骤,直接点击Finsh按钮。 (4)出现新工程信息对话框(New Project Information),说明了所创建的骨架工程的有关信息。如图6.7所示。 从中可以看出,所创建的程序是一个基于对话框的Win32应用程序,将自动创建两个类,应用程序类CTalkcApp,对应的文件是talkc.h和talkc.cpp;对话框类CTalkcDlg,对应的文件是talkcDlg.h和talkcDlg.cpp。支持Windows Socket,使用共享的DLL实现MFC42.DLL。 2.为对话框界面添加控件对象 在创建了应用程序骨架之后,可以布置程序的主对话框。在MFC界面左方的工作区(workspace)中选择resourceView卡,从中选择Dialog,双击IDD_TALKC_DIALOG,右边会出现对话框,左边会出现控件面板,利用控件面板可以方便地在程序的主对话框界面中添加相应的可视控件对象,如图6.8所示。 图5-8 在主对话框中添加控件 完成的对话框如图6.9所示,然后按照表5-2修改控件的属性。 图5-9 Talkc程序的主对话框 表5-2 Talkc程序主对话框中的控件属性 控件类型 控件ID Caption 静态文本 static text IDC_STATIC_SERVNAME 服务器名称 静态文本 static text IDC_STATIC_SERVPORT 服务器端口 静态文本 static text IDC_STATIC_MSG 消 息 静态文本 static text IDC_STATIC_SENT 发送的消息 静态文本 static text IDC_STATIC_RECEIVED 接收的消息 编辑框 edit box IDC_EDIT_SERVNAME ? 编辑框 edit box IDC_EDIT_SERVPORT ? 编辑框 edit box IDC_EDIT_MSG ? 命令按钮 button IDC_BUTTON_CONNECT 连接 命令按钮 button IDC_BUTTON_CLOSE 断开 命令按钮 button IDOK 发送 列表框 listbox IDC_LIST_SENT ? 列表框 listbox IDC_LIST_RECEIVED ? 3.为对话框中的控件对象定义相应的成员变量 在窗口菜单中点查看/建立类向导,进入类向导(Class Wizard)对话框,如图6.10。 选择成员变量卡(Member Variables),用类向导为对话框中的控件对象定义相应的成员变量。确认Class Name是CTalkcDlg,在左边的列表框中选择一个控件,然后点“Add Variable”按钮,会弹出”Add Member Variable”对话框,如图6.11所示,然后按照表6.3输入即可。 图6.11 增加控件成员变量的对话框 表6.3 客户端程序对话框中的控
文档评论(0)