You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
877 B

import threading
import socketserver
class ThreadedTCPRequestHandler(socketserver.StreamRequestHandler):
def handle(self):
data = self.rfile.readline().strip().decode('ascii')
cur_thread = threading.currentThread()
print (threading.current_thread().name)
response = bytes("{}: {}".format(cur_thread.name, data), 'ascii')
self.request.sendall(response)
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
if __name__ == "__main__":
HOST, PORT = "", 2000
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
# activamos el servidor (ponemos a la escucha)
# podomos porvocar una excepción con Ctrl-C
try:
server_thread = threading.Thread(target=server.serve_forever)
server_thread.start()
while True:
pass
except KeyboardInterrupt:
print ("servidor finalizado")

Powered by Informatica FP.