如何接收所有数据Python套接字编程

时间:2018-02-05 14:46:20

标签: python sockets buffer

data = self.SOCKET.recv(16384)
users = data.decode().split('&')

print(users)

我正在研究聊天程序。当我收到少量数据(大约100个字符)时,我可以看到所有数据。但是当我收到更多数据(大约10000个字符)时,我无法看到完整的数据。我只能看到一些部分。之后,当我的朋友收到其他计算机的10000字符数据时,他可以看到所有数据。 我认为这取决于以太网和wifi。所以我的朋友用wifi试了一下。他再次可以收到所有数据。它取决于计算机吗?我们应该用手接收缓冲区吗?有什么区别?

例如,* 100和10000个字符。

1 个答案:

答案 0 :(得分:0)

使用此代码接收数据:

while True:
    data = self.SOCKET.recv(512)
    if (len(data) < 1):
        break
    print(data.decode())

self.SOCEKT.close() # if you want to close the socket connection

这应该有效。我不能更具体,因为我不知道你的程序的上下文。不要复制粘贴代码,但要相应调整。如果它不起作用,请回复反馈。