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!