40 lines
1.2 KiB
Python
Executable File
40 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import socket
|
|
from spacepackets.ecss.tc import PusTelecommand
|
|
|
|
|
|
EXP_ID = 278
|
|
APID = 1024 + EXP_ID
|
|
SEND_PING_ONCE = True
|
|
|
|
|
|
def main():
|
|
global SEND_PING_ONCE
|
|
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
server_addr = ("localhost", 4096)
|
|
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
server_socket.bind(server_addr)
|
|
while True:
|
|
server_socket.listen()
|
|
(conn_socket, conn_addr) = server_socket.accept()
|
|
print(f"TCP client {conn_addr} connected")
|
|
while True:
|
|
bytes_recvd = conn_socket.recv(4096)
|
|
if len(bytes_recvd) > 0:
|
|
print(f"Received bytes from TCP client: {bytes_recvd}")
|
|
elif len(bytes_recvd) == 0:
|
|
break
|
|
else:
|
|
print("error receiving data from TCP client")
|
|
if SEND_PING_ONCE:
|
|
ping_tc = PusTelecommand(service=17, subservice=1, seq_count=0, apid=APID)
|
|
conn_socket.sendall(ping_tc.pack())
|
|
SEND_PING_ONCE = False
|
|
conn_socket.close()
|
|
continue
|
|
# server_socket.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|