wu_xinjun
2022-03-22 8f8099f618d6b910103555a04ae3b9830e1e6c92
src/utils/udp_get.py
@@ -12,26 +12,12 @@
#     os.makedirs(file_folder)
#     print(f"make a new folder: {file_folder}")
packed_count = 0
class PointCloudUDPRequestHandler(BaseRequestHandler):
    def handle(self):
        global packed_count
        global path
        if packed_count == 0:
            start = datetime.datetime.now()
            if not os.path.exists(save_folder):
                os.mkdir(save_folder)
            if sub_folder is not None:
                path = os.path.join(save_folder,sub_folder)
            else:
                path = os.path.join(save_folder,f"{device_id}-{start.strftime('%Y-%m-%d-%H-%M-%S')}")
            if not os.path.exists(path):
                os.mkdir(path)
            path = os.path.abspath(path)
        packet_threshold = self.server.packet_threshold
        packed_count = self.server.packed_count
        path = self.server.path
        print(time.asctime(),' Got connection from {}, {}'.format(self.client_address, packed_count))
        # Get message and client socket
@@ -40,29 +26,33 @@
        f = open('{}/{}_packet{}.udp'.format(path,time_tag,packed_count), 'wb')
        f.write(msg)
        f.close()
        packed_count += 1
        self.server.packed_count += 1
        self.server.udp_list.append(msg)
        
        if packed_count >= packet_threshold:
            UDPServer.server_close(server)
            UDPServer.server_close(self.server)
def udp_get_tool(microwaveHost,packetThreshold,deviceName,saveFolder,subFolder):
    global packet_threshold
    packet_threshold = packetThreshold,
    global device_id
    device_id = deviceName
    global save_folder
    save_folder = saveFolder
    global sub_folder
    sub_folder = subFolder
    global server
        # host = ''
    # host = ''
    # host = '192.168.2.65' # use this host to get the udp data from microwave device
    port = 9911
    server =UDPServer((microwaveHost, port), PointCloudUDPRequestHandler)
    if subFolder is not None:
        path = os.path.join(saveFolder,subFolder)
    else:
        start = datetime.datetime.now()
        path = os.path.join(saveFolder,f"{deviceName}-{start.strftime('%Y-%m-%d-%H-%M-%S')}")
    if not os.path.exists(path):
        os.makedirs(path)
    server.path = os.path.abspath(path)
    server.packet_threshold = packetThreshold
    server.packed_count = 0
    server.udp_list = []
    print(time.asctime(),'Server started on port', port)
    print('....')
    print('ctrl-c to quit server.')
@@ -74,8 +64,7 @@
    except:
        server.server_close()
        print(time.asctime(),"Server Stopped")
    return server.udp_list
if __name__ == '__main__':