欢迎来到天天文库
浏览记录
ID:41512895
大小:329.97 KB
页数:25页
时间:2019-08-26
《C#基于TCP的客户端服务器通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《高级网络程序设计》课程设计报告题目基于TCP的局域网即时消息系统的客户端和服务器端的设计与实现学号姓名计算机网络工程教研室2016年01月11日一、课程设计内容2二、设计目的2三、设计步骤2四、具体要求3五、实验代码3六、实验结果20七、参考文献22八、实验心得22犬津科技大学计算机学院《高级网络程序设计》课程设计一、课程设计内容1.Winsock的启动与终止。2.Winsock的创建及绑定和关闭。3.建立通信连接listen及accept和connecto4.数据的传输。1.简单的客八机/服务器之间的通信o二、设计目的1.熟悉WindowsSo
2、cket的常用函数的形式和使用方法,理解数据通信的过程。2.掌握如何利用C#进行TCP协议开发,完成基于TCP的局域网即吋消息系统的客户端和服务器端的设计与实现。三、设计步骤在TCP/IP网络小两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)o该模式的建立基于以F两点:(1)非对等作用;(2)通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:1、首先服务器方要先启动,并根据请示提供相应服务,其过程如下:(1)打开一通信通道并告知木地主机,它愿意在某一个公认地址上接收客户请求。(2)等待客
3、户请求到达该端II。(3)接收到重复服务请求,处理该请求并发送应答信号。(4)返回第二步,等待另一客户请求(5)关闭服务器。2、客户方:(1)打开一通信通道,并连接到服务器所在主机的特定端口。(2)向服务器发送服务请求报文,等待并接收应答;继续提出请求……(3)请求结朿后关闭通信通道并终止。3、TCP连接的套接字的系统调用时序图如图2」所示。4、TCP连接的应用程序流程图如图2.2所示。图2.1TCP连接的套接字的系统调用时序图图2.2TCP连接的应用程序流程图四、具体要求需要有基本的双人、多人文字聊天功能,上下线通知,在线用户列表,点对点文件传输
4、,所有的文字或文件传输需支持CRC-32校验,具有出错重传机制;五、实验代码(1)客户机:usingSystem;usingSystem・Collections.Gencric;usingSystem・ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem・TO;usingSystem・Linq;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;usingSystem.Threading.Tjisks;usingS
5、ystem・Windows・Forms;namespaceSocketclient{publicpartialclassForml:Form{publicForml(){InitializeComponcnt();}Socket_socketScnd;privatevoidbtnStartClick(objectsender,EvenlArgse){//创建负责通信的Socket:if(socketSend==null
6、
7、socketSend.Connected==false){_socketSend=newSocket(AddressFamily
8、.InterNetwork,SocketType.Stream,ProtocolTypo・Tcp);TPAddressip=TPAddress.T^arse(txtServer.Text);IPEndPointpoint=newIPEndPoint(ip,Convert.Tolnt32(txtPoint.Text));SocketAsyncEventArgssocketE=newSocketAsyncEventArgs();socketE.Completed+二socketE_Complctcd;sockctE.RcmotoEndPoint=poi
9、nt;try{_sockctScnd.ConncctAsync(sockctE);}catch(SockotException)(}}else{ShowMsgC"系统提示:己经连接到服务器:”+sockctScnd.RcmotcEndPoint.ToStringO+"请重新连接!“);}voidsockctE_Complctcd(objectsender,SockctAsyncEvcntArgsc)(SocketacccptSockot=e.ConnectSocket;if(acceptSocket==null){ShowMsgC系统提示:","向
10、"+c.RcmotcEndPoint.ToStringO+"的连接建立失败!“);return;}stringendPoi
此文档下载收益归作者所有