wu_xinjun
2022-02-16 dfe24d63ccca74c1093349e8b9e9977ac0d82278
src/Microwave/demo/MicroWaveUDPServerTest.py
@@ -1,13 +1,37 @@
import sys
import time
import os
from socketserver import BaseRequestHandler, UDPServer
# add python path of microwave to sys.path
microwave_path = os.path.join(__file__, *(['..'] * 3))
microwave_path = os.path.abspath(microwave_path)
sys.path.insert(0, microwave_path)
from microwave.servers import MicroWaveUDPServer
from microwave.servers import MicroWaveReceiver
class MicroWaveRequestHandlertest(BaseRequestHandler):
    def handle(self):
        # Get message and client socket
        buf, _ = self.request
        receiver = self.server.Receiver
        receiver.AddBuf(buf)
        if receiver.DataFrameReady:
            # data frame ready
            frame_number = receiver.Header.FrameNumber
            bin_name = os.path.join(self.server.OutputFolder, "{}.bin".format(frame_number))
            print("Frame {} ready".format(frame_number))
            with open(bin_name, "wb") as bin_file:
                bin_file.write(receiver.DataFrame)
class MicroWaveUDPServertest(UDPServer):
    def __init__(self, server_address, output_folder):
        super().__init__(server_address, MicroWaveRequestHandlertest)
        # create receiver instance
        self.Receiver = MicroWaveReceiver()
        self.OutputFolder = output_folder
if __name__ == '__main__':
    if len(sys.argv) == 2:
@@ -18,7 +42,7 @@
    # host = '192.168.2.65'
    host = ''
    port = 9911
    server = MicroWaveUDPServer((host, port), output_folder)
    server = MicroWaveUDPServertest((host, port), output_folder)
    server.packed_count = 0
    print(time.asctime(),'Server started on port', port)
    print('....')