[英]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.