| | |
| | | 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: |
| | |
| | | # 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('....') |