【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序

基于TCP协议服务器客户端通信程序


开发环境

Visual Studio2019

先放结果图

一、运行结果

实现功能:1. 简洁的用户界面 2. 开启、关闭服务器端 3. 连接服务器端 4. 能够对输入的文字进行传输 5. 能够进行文件传输

  1. 首先在服务器端启动服务器,然后在客户端连接服务器;
    在这里插入图片描述在这里插入图片描述2. 服务器向客户端发送消息

在这里插入图片描述在这里插入图片描述
8. 客户端向服务器发送消息

在这里插入图片描述
在这里插入图片描述

  1. 断开连接,关闭服务器
    在这里插入图片描述在这里插入图片描述

  2. 服务器向客户端发送文件
    在这里插入图片描述

  3. 客户端接收文件
    在这里插入图片描述

  4. 客户端查看文件
    在这里插入图片描述
    源码链接

二、功能模块

2.1客户端程序设计

  1. 创建一个基于对话框的应用程序。在对话框中添加编辑框、按键、静态文本等控件,并在对话框头文件clientDlg.h中定义监听和连接的成员变量。
private:
	CMysocket m_sConnectSocket;
	CMysocket m_sListenSocket;

在这里插入图片描述2) 构造一个套接字CAsyncSocket,并在InitInstance方法中初始化套接字。

在这里插入图片描述3) 从CAsyncSocke类中派生一个子类CMysocket
在这里插入图片描述4) 应用主对话框的头文件,并对主对话框进行前导声明
在这里插入图片描述在这里插入图片描述5) 改写窗口类的OnReceive事件,调用主对话框的方法处理服务器传来的数据
在这里插入图片描述6) 处理“连接服务器”按钮的单机事件,开始连接服务器

在这里插入图片描述7) 处理“发送消息”按钮的单击事件,发送数据到服务器

在这里插入图片描述8) 处理“取消连接”按钮的单机事件,断开客户端和服务器端的连接

在这里插入图片描述9) 客户端接收文件程序设计
在这里插入图片描述2.2服务器端程序设计

  1. 创建一个基于对话框的应用程序,构造套接字并初始化
    在这里插入图片描述2) 从CAsyncSocke类中派生一个子类CMysocket

在这里插入图片描述3) 在服务器端,需要调用OnAccept事件,用于接收客户端的连接
在这里插入图片描述
4) 改写窗口类的OnReceive事件,用于接收客户端传来的数据
在这里插入图片描述5) 处理“Submit”按钮单击事件,启动服务器,等待连接

在这里插入图片描述6) 处理“启动服务器”按钮单击事件,启动服务器,等待连接
在这里插入图片描述7) 处理“关闭服务器”按钮单机事件
在这里插入图片描述8) 服务器发送文件程序设计

在这里插入图片描述

三、数流图

在这里插入图片描述


版权声明:本文为guansheng123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。