import socket import struct import cbor2 as cbor sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) print("bind to socket") sock.bind(('0.0.0.0', 4444)) def unpack_outgauge(packed_data): game_data = struct.unpack('I4sH2c7f2I3f16s16si', packed_data) print(f"""Received data: - time: { game_data[0] } - car: { game_data[1] } - flags: { game_data[2] } - gear: { str(game_data[3]) } - plid: { game_data[4] } - speed: { game_data[5] } - rpm: { game_data[6] } - turbo: { game_data[7] } - engTemp: { game_data[8] } - fuel: { game_data[9] } - oilpres: { game_data[10] } - oiltemp: { game_data[11] } - dashLights: { game_data[12] } - showLights: { game_data[13] } - throttle: { game_data[14] } - brake: { game_data[15] } - clutch: { game_data[16] } - display1: { game_data[17] } - display2: { game_data[18] } - id: { game_data[19] } """) def unpack_extdash(packed_data): game_data = cbor.loads( packed_data ) print( str(game_data) ) while True: print( "receiving data...") data = sock.recv(1024) if not data: break # Lost connection print("got data!") #unpack_outgauge(data) unpack_extdash(data) sock.close()