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.

39 lines
1.1 KiB

import socketserver
class TCPStreamHandler(socketserver.StreamRequestHandler):
#Clase para manejar las conexiones, se instancia una por cliente
#transmisión de datos por stream
def handle(self):
# self.rfile es un stream de lectura
# self.wfile es un stream de escritura
print (f"Se han conectado desde: {self.client_address[0]} [{self.client_address[1]}]")
while True:
self.data = self.rfile.readline().strip()
print("Datos recibidos: ", self.data)
#remitimos los mismos datos en mayúscula
self.wfile.write(self.data.upper())
#self.wfile.writelines((b"uno", b"dos",b"tres"))
if self.data == b"":
break
if self.data ==b"#":
raise KeyboardInterrupt
if __name__ == "__main__":
HOST, PORT = "", 2000
# instanciamos el socket servidor con la clase asociada de callback
server = socketserver.TCPServer((HOST, PORT), TCPStreamHandler)
# activamos el servidor (ponemos a la escucha)
# podomos porvocar una excepción con Ctrl-C
try:
server.serve_forever()
except KeyboardInterrupt:
print ("servidor finalizado")

Powered by Informatica FP.