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

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

  • 开发环境
  • 一、运行结果
  • 二、功能模块
  • 三、数流图


开发环境

Visual Studio2019

先放结果图

一、运行结果

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

  1. 首先在服务器端启动服务器,然后在客户端连接服务器;
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第1张图片【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第2张图片2. 服务器向客户端发送消息

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第3张图片【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第4张图片
8. 客户端向服务器发送消息

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第5张图片
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第6张图片

  1. 断开连接,关闭服务器
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第7张图片【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第8张图片

  2. 服务器向客户端发送文件
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第9张图片

  3. 客户端接收文件
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第10张图片

  4. 客户端查看文件
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第11张图片
    源码链接

二、功能模块

2.1客户端程序设计

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

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第12张图片2) 构造一个套接字CAsyncSocket,并在InitInstance方法中初始化套接字。

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第13张图片3) 从CAsyncSocke类中派生一个子类CMysocket
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第14张图片4) 应用主对话框的头文件,并对主对话框进行前导声明
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第15张图片【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第16张图片5) 改写窗口类的OnReceive事件,调用主对话框的方法处理服务器传来的数据
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第17张图片6) 处理“连接服务器”按钮的单机事件,开始连接服务器

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第18张图片7) 处理“发送消息”按钮的单击事件,发送数据到服务器

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第19张图片8) 处理“取消连接”按钮的单机事件,断开客户端和服务器端的连接

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第20张图片9) 客户端接收文件程序设计
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第21张图片2.2服务器端程序设计

  1. 创建一个基于对话框的应用程序,构造套接字并初始化
    【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第22张图片2) 从CAsyncSocke类中派生一个子类CMysocket

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第23张图片3) 在服务器端,需要调用OnAccept事件,用于接收客户端的连接
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第24张图片
4) 改写窗口类的OnReceive事件,用于接收客户端传来的数据
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第25张图片5) 处理“Submit”按钮单击事件,启动服务器,等待连接

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第26张图片6) 处理“启动服务器”按钮单击事件,启动服务器,等待连接
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第27张图片7) 处理“关闭服务器”按钮单机事件
【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第28张图片8) 服务器发送文件程序设计

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第29张图片

三、数流图

【基于MFC的Socket编程】基于TCP协议服务器客户端通信程序_第30张图片

你可能感兴趣的:(Socket,服务器,mfc,tcp/ip)