from socketserver import BaseRequestHandler, UDPServer import time import os, sys cudir,_ = os.path.split(__file__) file_folder = os.path.join(cudir,"saveUDPData") if not os.path.exists(file_folder): os.makedirs(file_folder) print(f"make a new folder: {file_folder}") packed_count = 0 class PointCloudUDPRequestHandler(BaseRequestHandler): def handle(self): global packed_count print(time.asctime(),' Got connection from {}, {}'.format(self.client_address, packed_count)) # Get message and client socket msg, sock = self.request f = open('{}/packet{}.udp'.format(file_folder,packed_count), 'wb') f.write(msg) f.close() packed_count += 1 if packed_count >= 1000000: UDPServer.server_close(server) if __name__ == '__main__': def help(): print("Usage: udp_test_get.py [host]. host can be 'test' or 'microwave' ") exit(1) if len(sys.argv) == 2: if sys.argv[1] == 'test': host = '' elif sys.argv[1] == 'microwave': host = '192.168.2.65' else: help() else: help() global server # host = '' # host = '192.168.2.65' # use this host to get the udp data from microwave device port = 9911 server =UDPServer((host, port), PointCloudUDPRequestHandler) print(time.asctime(),'Server started on port', port) print('....') print('ctrl-c to quit server.') try: server.serve_forever() except KeyboardInterrupt: server.server_close() print(time.asctime(),"Server Stopped") except: server.server_close() print(time.asctime(),"Server Stopped")