♻️ 资源大小701KB➡️资源下载https://download.csdn.net/download/s1t16/87425398一、实验目的1、了解TCP与UDP协议以及它们之间的区别。2、了解客户/服务器模型原理。3、熟悉Socket编程原理掌握简单的套接字编程。二、实验原理1、编写用TCP协议实现的Client端和Server端程序并调试通过。程序流程如图2、编写用UDP协议实现的Client端和Server端程序并调试通过。实验过程本作业使用CMFC完成使用CAsyncSocket实现TCP和UDP模型。2.1.TCP模型实现服务器需要两个派生自CAsyncSocket类的子类一个用于Accept一个用于Process。具体实现如下:CListenSocket继承CAsyncSocket,重载OnAccpet,在OnAccept中Accept(processSocket),然后在CprocessSocket中处理。CProcessSocket继承CAsyncSocket,重载OnSend OnReceive OnClose通过AsyncSelect来切换读写的操作在OnClose中delete本身因为在accept中是new来的不然会内存泄露)。实现客户端只需要一个继承自CAsyncSocket的类假设叫CConnectSocket,需要重载OnConnect OnSend OnReceive OnClose. OnConnect主要是为了收到接通时的事件处理errorcode其他跟服务器类似。使用时服务器用Create 并listen客户端Create 然后Connect进入使用循环。首先打开客户端和服务器界面点击服务器监听客户端连接直接点击连接即可默认IP为本机端口号1088)后建立连接发送请求服务器返回请求客户端接收关闭连接下次发送请求需要重新连接。点击关闭可以中断连接。客户端服务器均有日志记载。演示如图2.2.UDP模型UDP模型比TCP要简单不分服务器端跟客户端。也可以称为是对等的都使用相同的派生于CAsyncSocket的类这里假设为CupdSocket,重载OnReceive|使用时直接创建Create,然后用SendTo发送数据接受数据都在OnReceive中不需要AsyncSelect来切换。同样打开客户和端服务器界面自动建立连接默认IP地址为本机服务器端口号2000客户端端口号客户端发送请求服务器响应客户端接收。服务器记录日志。演示如图至此实验完成。