pickle data was truncated dictionary

Viewed 89

I have socket client server program, It send the status of client system to server but the problem is I got error when status dictionary going to dump my code is here: client:

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
data = {
    'cpu_usage_pct': get_cpu_usage_pct(),
    'ram_usage_total': get_ram_usage()[0],
    'ram_usage_pct': get_ram_usage()[1],
    'ram_usage_free': get_ram_usage()[2],
    'cpu_ferq_current': cpu_ferq(),
    'disk_usage_total': disk_usage()[0],
    'disk_usage_usage': disk_usage()[1],
    'disk_usage_free': disk_usage()[2],
    'net_io_bytes_sent': get_net_io()[0],
    'net_io_bytes_receive': get_net_io()[1],
    'IP': get_IP(),
    'ul':calc_ul_dl()[0],
    'dl':calc_ul_dl()[1],

}
s.send(pickle.dumps(data))

server:

async def service_server(reader, writer):
print('connect to client')
data_list = []
while True:
    data = await reader.read(40)  # Max number of bytes to read 100
    if not data:
        break
    data_list.append(data)
    print(pickle.loads(b''.join(data_list)))
writer.close()


async def main(host, port):
    server = await asyncio.start_server(service_server, host, port)
    await server.serve_forever()


asyncio.run(main('127.0.0.1', 65431))

error is: _pickle.UnpicklingError: pickle data was truncated hope anyone help me!

0 Answers
Related