繁体   English   中英

Python线程UDP和TCP服务器?

[英]Python Threaded UDP and TCP Server?

我正在尝试通过使每个进程都有自己的线程来创建允许TCP,UDP和HTTP连接的服务器。 我已经完成了TCP和HTTP连接,并且UDP部分正确启动,但是当我尝试通过UDP发送消息时,系统挂起。 有谁知道如何解决这个问题?

UDP类处理程序:

class ThreadedUDPRequestHandler(socketserver.BaseRequestHandler):
    def handle(self):
        data = self.request[0].strip()
        socket = self.request[1]
        print("{} wrote: ".format(self.client_address[0]))
        print(data)
        socket.sendto(data.upper(), self.client_address)

UDP线程:

class ThreadedUDPServer(socketserver.ThreadingMixIn, socketserver.UDPServer): 
        pass

代码中的位置:

if __name__ == "__main__":
    # Port 0 means to select an arbitrary unused port
    HOST, PORT = "127.0.0.1", 8000

    Handler = http.server.SimpleHTTPRequestHandler
    httpd = socketserver.TCPServer(("", PORT), Handler)
    http_thread = threading.Thread(target=httpd.serve_forever)
    print("Website serving at port", PORT)

    udpserver = ThreadedUDPServer((HOST,PORT+1), ThreadedUDPRequestHandler)
    udp_thread = threading.Thread(target=udpserver.serve_forever)
    print("UDP serving at port", PORT+1)

    tcpserver = ThreadedTCPServer((HOST, PORT-1), ThreadedTCPRequestHandler)
    server_thread = threading.Thread(target=tcpserver.serve_forever)
    print("TCP serving at port", PORT-1)
    udp_thread.start()

解决:我忘了加

udp_thread.start()

我忘了加

udp_thread.start()

在底部

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM