假设服务器 S 与客户端 C 建立了成功的 TCP 连接。
C 不断向 S 发送 256 字节长的数据包。
是否有可能其中一个数据包只收到一部分,但连接没有断开(可以继续正确接收新数据包)?
我认为TCP协议本身会保证连接时不会丢失任何字节。但好像不是?
PS 我正在使用Python 的socketserver库。
TCP 协议确实保证传送。因此(假设您的代码和 TCP 堆栈中没有错误),您描述的场景是不可能的。
请记住,TCP 是面向流的,而不是面向数据包的。这意味着您可能需要recv()多次调用才能读取整个 256 字节数据包。
| 归档时间: | 
 | 
| 查看次数: | 4174 次 | 
| 最近记录: |