from socketserver import BaseRequestHandler, UDPServer
|
import time
|
import os
|
|
|
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 PointCloudUDPServer(BaseRequestHandler):
|
|
def handle(self):
|
|
global packed_count
|
|
print('Got connection from {}, {}'.format(self.client_address, packed_count))
|
# Get message and client socket
|
msg, sock = self.request
|
f = open('{}/packet{:000006}.udp'.format(file_folder,packed_count), 'wb')
|
f.write(msg)
|
f.close()
|
packed_count += 1
|
if packed_count >= 100:
|
UDPServer.server_close(server)
|
|
|
if __name__ == '__main__':
|
|
global server
|
host = ''
|
# host = '192.168.2.65'
|
port = 9911
|
server =UDPServer((host, port), PointCloudUDPServer)
|
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")
|