【发布时间】:2018-07-15 11:00:28
【问题描述】:
data = self.SOCKET.recv(16384)
users = data.decode().split('&')
print(users)
我正在开发聊天程序。当我收到少量数据(大约 100 个字符)时,我可以看到所有数据。但是当我收到更多数据(大约是 10000 个字符)时,我看不到完整的数据。我只能看到一些部分。之后,当我的朋友用另一台电脑收到10000字的数据时,他可以看到所有的数据。 我认为这取决于以太网和wifi。所以我的朋友用wifi尝试了它。他再次可以接收所有数据。是不是依赖电脑?我们应该手动进入接收缓冲区吗?有什么区别?
*100 和 10000 字符例如。
【问题讨论】:
-
recv不知道需要多少数据,只知道最新数据包中有多少。等待多少取决于协议。它可能需要多次调用recv才能获取所有数据。