TCP和UDP同属传输层协议,两者在数据传输上最大区别是连接和非连接。
客户端和服务端需要进行数据传输时,TCP会进行三次握手操作:
1.客户端向服务端发送syn包进行连接申请
2.服务端接收到客户端的连接申请会向客户端发送syn+ack包
3.客户端收到回复后,会发送ack包回复
四次挥手即是指:
1.客户端想与服务器断开连接,向服务器端发送fin包
2.服务器收到中断请求发送ack包,自己将进入等待关闭状态
此时双方还可收发数据
3.当数据收发完成后,服务器会再次发送fin包向客户端
4.客户端收到后向服务器发送fin包,自己进入超时等待状态,待服务器关闭后自己因超时关闭连接
UDP则是单方向传输,非连接,即直接向服务器发送文件,不关心收到的顺序及丢包情况。