import socket import socketserver import threading class MyTCPHandler(socketserver.BaseRequestHandler): def handle(self): data = self.request.recv(1024) data = data.decode('utf-8') cur = threading.current_thread() responce = cur.name + ' '+ self.client_address[0]+' ' +data responce = responce.encode('utf-8') self.request.sendall(responce) class MyTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer): pass class Ser: def __init__(self): self.server = MyTCPServer(('localhost', 12345), MyTCPHandler) self.thread_server = threading.Thread(target=self.server.serve_forever) self.thread_server.daemon = True self.id = [] def start(self): self.thread_server.start() def loop(self): while True: pass s = Ser() s.start() s.loop()
Как мне поместить id в лист, если id можно получить только в обработчике, а get_request(), останавливает 1 поток. Можно ли реализовать это без костылей? .-.