Я хотел бы реализовать UDP-сервер с Python.Многоклиентский UDP-сервер python
Я хочу быть в состоянии ждать, пока некоторые клиенты смогут одновременно общаться и общаться с другими.
Я пытался использовать реализацию 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. Думаю, многопоточность будет решением?
Я не уверен, чтобы быть ясно ...