【发布时间】:2016-02-16 08:10:12
【问题描述】:
我有两个发送 tcp 包的应用程序,都是用 python 2 编写的。当客户端向服务器发送 tcp 数据包的速度太快时,数据包会被连接起来。有没有办法让 python 只从套接字恢复最后发送的包?我将用它发送文件,所以我不能只使用某些字符作为数据包终止符,因为我不知道文件的内容。
【问题讨论】:
-
这不是 TCP 的工作原理。
-
正如许多人所建议的那样,所谓的 length-prefixing 是要走的路。我不使用 Python,但我可以毫无问题地从我的程序发送文件 - 它对它发送的每个“数据包”或文件部分使用长度前缀。
-
我刚刚通过在实际文件之前添加填充和包括文件大小来使所有数据包大小相同。