基于 MFC 网络通信设计王忠亮2017-1-5 250593736@qq.com 1. 软件工具Visual Studio 2013 2. 系统平台Windows 7 64bit 3. 设计目标设计一个基于对话框的应用软件,使两台PC机之间实现网络通信,一台为客户机,另一台为服务器。4. 设计原理在客户 -服务器方式下,实现网络程序的socket 通信。客户和服务器是指通信中所涉及的两个应用进程,客户-服务器方式所描述的是进程之间服务和被服务的关系。一台PC机运行客户程序,而另一台PC机运行服务器程序。该设计只实现一个最简单的socket 通信:单方向通信。只有客户向服务器发送消息,并且也只由客户主动断开连接。客户 socket 和服务器 socket 之间的关系如图:客户socket监听socket服务socket( 1)连接请求( 2 )创建服务socket( 3)发送消息( 4)主动断开连接PC 机 1(运行客户程序)PC 机 2(运行服务器程序)服务器程序中包含两个socket:监听 socket 和服务 socket。监听 socket 响应客户 socket 的连接请求, 一旦收到连接请求,则创建服务socket。服务 socket 负责接收客户socket 发送过来的消息,并随时响应客户socket 的断开连接请求。进一步细化上面过程,可得到Socket间通信流程图:开始等待发起连接请求连接成功否创建客户 socket发起连接请求客户 socket处于连接状态是主动断开连接收到连接请求连接请求开始进入监听状态创建监听 socket否等待客户发来消息创建服务 socket收到断开连接请求是发送消息否是5. 设计步骤5.1. 创建客户端工程打开 Visual Studio 2013 工具,建立一个基于对话框的MFC 项目,项目名称NetcommClient 。5.2. 创建客户 socket类选择 PROJECT->Add Class...,如图所示:选择 MFC 类:为新类命名,这里笔者命名为CClientSocket(即客户 socket 类):5.3. 客户端界面设计一个 IP Addresss Control,用于设置服务器IP 地址。一个列表框,用于显示操作指令信息。两个编辑框,一个用于设置通信端口号,一个用于输入发送消息。五个按钮,其中OK、Cancel 按钮为界面默认,可以保留。“连接服务器”按钮用于启动客户socket 发出连接请求。 “断开连接”按钮用于关闭客户socket 与服务器的连接。 “发送”按钮启动消息发送。5.4. 客户端源代码编写5.4.1. 声明类对象在对话框头文件里声明客户socket 类对象:5.4.2. 添加控件变量5.4.2.1. IP 地址控件变量为 IP 地址控件添加变量:5.4.2....