TCP消息的顺序?

use*_*786 4 tcp

我正在开发使用TCP的C++应用服务器和客户端.我在服务器上有三条消息:A,B和C.它们按顺序发送:A - > B - > C.客户端响应确认消息:rA,rB,rC.

客户端是否按顺序A-> BC接收A,B和C?服务器是否收到rA-> rB-> rC?

Mic*_*tta 7

TCP保证接收数据包的顺序(在单个连接上)与它们发送的顺序相同.但是,如果您有多个TCP连接,则无法保证 - TCP仅保留给定TCP连接中的数据包的排序.

有关更多概述,请参阅有关TCP的Wikipedia文章.

TCP的一个功能是通过将数据包重组为顺序或强制重试无序数据包来防止数据的无序传送.

  • 说"TCP保证数据包的顺序"有点误导.请记住,TCP提供字节流,而不是数据包. (2认同)