【发布时间】:2020-07-10 01:31:18
【问题描述】:
我用recv 或recvfrom 监听linux 中的tcp 套接字。
谁负责让我按正确的顺序获取 tcp 数据包?
内核是否会小心,所以如果数据包 1 在数据包 2 之后出现,内核将同时丢弃/保存数据包 2 直到数据包 1 到来?
或者我可能需要按照 tcp 数据包的顺序处理用户空间?
【问题讨论】:
-
使用 TCP 时,您将按照发送的顺序接收数据。
-
用户空间甚至看不到与 TCP 的数据包边界。它纯粹是一个数据流。