无法通过Python中的套接字接收完整数据

时间:2019-07-08 18:02:58

标签: python sockets keras pickle sys

我正在尝试通过套接字发送Keras顺序模型,但没有收到比发送的要多的位。

我尝试使用sendall代替send,并尝试一次接收所有软件包,并将其拆分。

client.py

msg = pickle.dumps(self.output)
print('Size:', sys.getsizeof(msg))
self.client.send(msg)

server.py

data = []
received = 0
while True:
    packet = conn.recv(1024)
    received += sys.getsizeof(packet)
    print(packet)
    print(sys.getsizeof(packet), received)
    if packet: data.append(packet)
    if not packet or packet == b'' or sys.getsizeof(packet) < 1024:
        break
print(sys.getsizeof(data))
y = pickle.loads(b"".join(data))

我期望received的大小最终应与sys.getsizeof(msg)相同,只是它的大小要小数千位。

0 个答案:

没有答案