跳到主要内容

网络基础

TCP协议和UDP协议有什么区别?

  • TCP协议是流式协议,基于字节流传输,没有数据的边界需要在应用层解决沾包半包的问题,而UDP协议是基于数据报传输的,有明确的数据边界。
  • UDP是无序传输,不保证数据包的顺序,可能会出现丢包和乱序的情况,同时属于无连接协议,不具备可靠性,TCP则相反。

基于TCP的上层协议如HTTP/HTTPS、WebSocket、MQTT等协议都有各自的消息边界,所以在使用这些协议的时候,开发者不需要解决沾包和半包的问题。