Transmission Control Protocol (TCP),传输控制协议,属于传输层的协议。
TCP 是无保护消息边界的流通信协议,是基于不可靠连接的可靠传输。它采用数据流(stream)的概念管理传输过程,区别与UDP的数据包的传输方式。
理论上 TCP 是不会丢失数据。如有出现丢包、乱序的问题,分别是因为:
- 未有处理发送(Send)的错误重发数据,造成丢包;
- 多线程同步问题,导致的乱序
使用TCP协议通讯,通常有以下几种方式:
短连接 | 一次连接,一次传输 | 自定义格式,传输数据 |
长连接,定长 | 一次连接,多次传输 | 固定长度收发数据 |
长连接,TLV | TLV 可解析为 Type-length-value 或 Tag-length-value。T 和 L 为固定长度,T:标识字节序(Endiannes)或数据类型;L:数据长度 |