小编Nic*_*llo的帖子

插座。如何使用 socket.recv() 接收所有数据?

我在从服务器到客户端接收数据时遇到问题。我有以下客户端函数尝试从服务器接收数据。服务器使用该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()才能继续读取其他丢失的数据?谢谢你。

python sockets recv

4
推荐指数
1
解决办法
8833
查看次数

标签 统计

python ×1

recv ×1

sockets ×1