我在从服务器到客户端接收数据时遇到问题。我有以下客户端函数尝试从服务器接收数据。服务器使用该socket.sendall (data)函数发送的数据大于buff_size所以我需要一个循环来读取所有数据。
def receiveAll (sock):
data = ""
buff_size = 4096
while True:
part = sock.recv (buff_size)
data + = part
if part <buff_size:
break;
return data
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在第一次迭代(读取第一个 4096mb)之后,第二次程序被阻塞,等待part = sock.recv (buff_size). 我该怎么做recv()才能继续读取其他丢失的数据?谢谢你。