44 lines
980 B
Python
44 lines
980 B
Python
#!/usr/bin/env python
|
|
|
|
import asyncio
|
|
import framing
|
|
from header import Onbeat_Header
|
|
import json
|
|
|
|
PACKET_LEN=255*4 + 32
|
|
DATA_LEN=223*4
|
|
HEADER_LEN=32
|
|
|
|
|
|
async def tcp_client():
|
|
port = 50002
|
|
reader, _ = await asyncio.open_connection(
|
|
'127.0.0.1', port)
|
|
# output: list[tuple[Onbeat_Header, list[int]]] = []
|
|
output: list[list[int]] = []
|
|
packet_loss = 0
|
|
while message := await reader.read(PACKET_LEN):
|
|
try:
|
|
received = framing.decode_packet([i for i in message])
|
|
output.append([i for i in message])
|
|
print("pkt received")
|
|
if received[0].pkt_len == 0:
|
|
break
|
|
except KeyboardInterrupt:
|
|
break
|
|
except Exception as e:
|
|
packet_loss += 1
|
|
print(e)
|
|
|
|
return output
|
|
|
|
|
|
rs_coding = False
|
|
filename = "loremipsum"
|
|
received = asyncio.run(tcp_client())
|
|
|
|
|
|
|
|
with open("rx_packets.json", mode="w") as packetfile:
|
|
json.dump(received, packetfile)
|