VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之TCP实现一个简易的聊天室 (Unity&&C#完成

效果展示

TCP

Transmission Control Protocol 传输控制协议

TCP面向连接的流模式(俗称:网络流)。即传输数据之前源端和终端建立可靠的连接,保证数据传输的正确性

流模式:由于建立连接,收到的数据都是同一主机发送的,所有可以发送端Write一次,接收端Read多次;也可以发送端Write多次,接收端Read多次。但每次传输数据最大为1460字节。

 

 

实现步骤

 

服务端                                                                       客户端

获取本机终结点                                                   获取服务器终结点  

创建TcpListener对象,开启侦听器                      创建TcpClient对象                         

等待客户端连接                                                   连接服务器

获取针对客户端连接的网络流客户端通信           通过网络流与服务器通信                         

 ……                                                                        ……         

关闭连接                                                                关闭连接

 

 ChatTCPClientTest

 

 ChatTCPServerTest

中间发生连接请求过程(三次握手) , 断开连接(四次挥手)

三次握手

所谓三次握手就是建立TCP连接的过程,需要客户端和服务端总共发送3个包确认连接成功。在socket编程中,这一过程由客户端执行connect来触发。

简而言之

第一次,客户端服务端发出连接请求数据包 “我想跟你聊会,可以吗?

,服务端向客户端发送同意连接和要求同步的数据包可以,什么时候

第三次,客户端再发出一个数据包确认服务器的同步要求就现在。

四次挥手

所谓四次挥手就是终止TCP连接的过程,需要客户端和服务端总共发送4个包以确认连接断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发

简而言之

第一次,客户端服务端发送断开请求数据包 “我都说完了,今天就到这吧

,服务端向客户端发送同意断开数据包恩,好的。

第三次,服务端再向客户端发送断开请求数据报那我挂了啊?

第四次客户端再向服务端发送确认断开数据报“拜拜”

此时服务端断开连接,客户端过会发现服务端没有回复,也断开连接。


相关教程