基于TCP服务器客户端交流帮助文档

基于TCP服务器客户端交流帮助文档

ID:38711473

大小:266.00 KB

页数:34页

时间:2019-06-18

基于TCP服务器客户端交流帮助文档_第1页
基于TCP服务器客户端交流帮助文档_第2页
基于TCP服务器客户端交流帮助文档_第3页
基于TCP服务器客户端交流帮助文档_第4页
基于TCP服务器客户端交流帮助文档_第5页
资源描述:

《基于TCP服务器客户端交流帮助文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#winform网络编程TCP程序帮助文档一、界面的实现服务器界面客户端界面一、界面控件解析以客户端界面为例,整个界面运用的控件,功能。进度条的实现主要是StatusStrip(状态栏)控件下的ToolStripStatusLabel(标签)ProgressBar(进度条)控件一、类的调用解析System.Net命名控件为当前网络上使用的多种协议提供了简单的编程接口下面对该命名控件进行类的介绍Dns类:从Internet域名系统(DNS)检索关于特定主机的信息IPAddress类:提供网际协议(IP)地址IPEndPoint类:包含应用程

2、序连接到主机上的服务所需的主机和本地或远程端口信息WebClient类:提供向URI标识的任何本地、Intranet或Internet资源发送数据以及从这些资源接受数据的公共方法System.Net.Sockets命名控件主要提供制作Sockets网络应用程序的相关类Socket类:为网络通信提供了一套丰富的方法和属性,主要用于管理连接,实现Berkeley通信端套接字接口,同时他还定义了绑定,连接网络端口点及传输数据所需的各种方法,提供处理端点连接传输等细节所需要的功能。TcpClient类:用于在同步阻止模式下通过网络来连接,发送和接收

3、流数据TcpListenner类:用于阻止同步模式下侦听和接受传入的连接请求UdpClient类:用于阻止同步模式下发送和接收无连接UDP数据报。(UDP是无连接传输协议)System.Threading命名控件用来创建线程和控制线程的System.IO命名控件提供了对系统文件的存取、创建、修改等封装类。二、编写思路1、服务器端(1)创建一个TcpListener对象,然后调用该对象的Start方法在指定的端口进行监听。PrivateIPAddresslocalAddress;//IP地址Privateconstintport=51888;

4、//端口PrivateTcpListenertcpListener;//监听套接字//初始化IPAddress[]listenIP=Dns.GetHostAddresses(“”);localAddress=listenIP[0];//创建TcpListener对象,开启监听tcpListener=newTcpListener(localAddress,port);tcpListener.Start();//监听开始(2)在单独的线程中,首先循环调用AcceptTcpClient方法接受客户端的连接请求,从该方法的返回结果中得到与客户端对应

5、的TcpClient对象,并利用该对象的GetStream方法得到NetworkStream对象。然后再利用该对象得到其他使用更方便的对象,为进一步通信做准备//启动一个线程接收请求ThreadthreadAccept=newThread(AcceptClientConnect);threadAccept.Start();//线程执行AcceptClientConnect方法请求privatevoidAcceptClientConnect(){while(true){try{tcpClient=tcpListener.AcceptTcpCl

6、ient();//接收客户端的请求if(tcpClient!=null){stsInfo.Invoke(shwStatusInfo,"接受了一个连接");networkStream=tcpClient.GetStream();//接收或者发送数据br=newBinaryReader(networkStream);bw=newBinaryWriter(networkStream);}}catch{...}}}(3)每得到一得到新的TcpClient对象,就创建一个与该客户对应的线程,在线程中与对应的客户进行通信ThreadthreadRece

7、ive=newThread(ReceiveMessage);threadReceive.Start();其中,ReceiveMessage是接收消息的方法,当然,在得到TcpClient对象后,也可以分别创建两个线程,一恶搞用于接收信息,另一个用于发送信息。例如,定义发送信息的方法SendMessage后,可创建一个发送消息的线程:ThreadthreadSend=newThread(newParameterizedThreadStart(SendMessage));threadSend.Start(txtMsg.Text);(4)根据传送

8、信息的情况确定是否关闭与客户的连接if(br!=null){br.Close();}if(bw!=null){bw.Close();}if(tcpClient!=null){tc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。