【发布时间】:2016-10-16 00:05:50
【问题描述】:
我目前正在使用类似这样的方式在 myserver 中通过 TCP/IP 发送数据
for str in lst:
data = str + "\n"
self._conn.sendall(data)
现在假设我的列表中有以下两个字符串
1-This is statement 1 in list
2-This is statement 2 in list
我的客户正在收到这样的第 2 行的一半。
This is statement 1 in list
This is
我想分别发送列表中的第 1 行和第 2 行。我了解 TCP/IP 以这种方式工作,它将发送可发送的全部数据。我想我可以在致电self._conn.sendall(data) 后推迟,但我想知道我还有哪些其他选择。我不能对数据的接收者进行更改,我只能对发送者进行更改。到目前为止,我唯一的选择是在每次发送后添加延迟。
【问题讨论】:
-
客户端需要继续进行recv调用,直到它拥有一切。我对 Python 不熟悉,所以无法提供具体答案。
-
如果您想完全控制每个数据包中发送的内容,还可以选择使用 UDP。
标签: python sockets tcp network-programming