(1)TCP 基于连接,UDP 基于无连接。 (2)TCP 要求系统资源较多,UDP 较少。 (3)UDP 程序结构较简单。 (4)TCP 保证数据正确性,UDP 可能丢包。 (5)TCP 保证数据顺序,UDP 不保证。
??应用层 传输层 互连网络层 网络接口层。
??因为 TCP 是全双工,每个方向都必须进行单独关闭。关闭连接时,当 Server 端收到 FIN 报文时,很可能并不会立即关闭 SOCKET,所以只能先回复一个 ACK 报文,告诉 Client 端,”你发的 FIN 报文我收到了”。只有等到 Server 端所有的报文都发送完了,我才能发送 FIN 报文,因此不能一起发送。故需要四步握手。