首页 > Python基础教程 >
-
C#教程之TCP实现一个简易的聊天室 (Unity&&C#完成
效果展示
TCP
Transmission Control Protocol 传输控制协议
TCP是面向连接的流模式(俗称:网络流)。即传输数据之前源端和终端建立可靠的连接,保证数据传输的正确性。
流模式:由于建立连接,收到的数据都是同一主机发送的,所有可以发送端Write一次,接收端Read多次;也可以发送端Write多次,接收端Read多次。但每次传输数据最大为1460字节。
实现步骤
服务端 客户端
获取本机终结点 获取服务器终结点
创建TcpListener对象,开启侦听器 创建TcpClient对象
等待客户端连接 连接服务器
获取针对客户端连接的网络流客户端通信 通过网络流与服务器通信
…… ……
关闭连接 关闭连接
中间发生连接请求过程(三次握手) , 断开连接(四次挥手)
三次握手
所谓三次握手就是建立TCP连接的过程,需要客户端和服务端总共发送3个包确认连接成功。在socket编程中,这一过程由客户端执行connect来触发。
简而言之:
第一次,客户端向服务端发出连接请求数据包。 “我想跟你聊会,可以吗?”
第二次,服务端向客户端发送同意连接和要求同步的数据包。“可以,什么时候啊?”
第三次,客户端再发出一个数据包确认服务器的同步要求。“就现在。”
四次挥手
所谓四次挥手就是终止TCP连接的过程,需要客户端和服务端总共发送4个包以确认连接断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发
简而言之:
第一次,客户端向服务端发送断开请求数据包。 “我都说完了,今天就到这吧”
第二次,服务端向客户端发送同意断开数据包。“恩,好的。”
第三次,服务端再向客户端发送断开请求数据报。“那我挂了啊?”
第四次,客户端再向服务端发送确认断开数据报。“拜拜”
此时服务端断开连接,客户端过会发现服务端没有回复,也断开连接。