【发布时间】:2015-02-05 14:20:37
【问题描述】:
我想用 Python 实现一个 UDP 服务器。
我希望能够等待一些客户同时连接并与其他人聊天。
我尝试使用 SocketServer 实现
import SocketServer
class MyUDPHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
socket = self.request[1]
print("{} wrote:".format(self.client_address))
print("data -> ", data)
socket.sendto(data.upper(), self.client_address)
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler)
server.serve_forever()
通过这个实现,我可以将来自不同客户端的数据发送到这个服务器。
明确地说,当客户端向服务器发送 UDP 数据以便能够与他通信时,我想做的是进入另一个函数。但同时,我仍然希望其他客户端能够发送 UDP 数据。我猜多线程将是一个解决方案?
我不确定...
【问题讨论】: