Buenas.
Estoy intentando conectar mediante socket cliente - servidor, y al intercambiar 3 o 4 mensajes cortos, sale error 10053.
Supongo que debe ser el firewall o el antivirus que desconecta la conexion.
Alguna idea para que esto no ocurra sin tocar la seguridad del equipo ?
Perdonad, pero en los temas de redes voy algo perdido.
Gracias
Hola, ¿cuál es el código que estás usando? ¿Los programas corren en la misma computadora o en distintas?
Hola, el código corre en el mismo equipo,tanto de cliente como de servidor.
Envio los scripts:
## SERVIDOR ##
import socketserver
class MiTcpHandler(socketserver.BaseRequestHandler):
def handle(self):
try:
self.cadena=self.request.recv(4096).decode('utf-8')
print("Cliente : ",self.cadena)
self.CadenaSendServer=input("Servidor : ")
self.request.send(self.CadenaSendServer.encode(encoding='utf-8',errors='sstrict'))
except Exception as exc:
print("Error ",exc)
host="localhost"
port=9999
server1=socketserver.TCPServer((host,port),MiTcpHandler)
print("Servidor corriendo")
server1.serve_forever()
## CLIENTE ##
import socket
host="localhost"
port=9999
socket1=socket.socket()
socket1.connect((host,port))
try:
while(True):
cadena=input("Cliente --> ")
socket1.send(cadena.encode(encoding='utf-8',errors='strict').strip())
CadenaRecServidor=socket1.recv(4096).decode('utf-8')
print(" Servidor --> ",CadenaRecServidor)
except Exception as exc:
print("Error: ",exc)
socket1.close()
La conexión se cierra cuando el método handle() termina, que es lo que ocurre cuando el servidor envía su primer mensaje. Deberías crear un bucle al igual que en el cliente.
Saludos
Gracias. He modificado levemente el código con tu idea y me funcion.
Un saludo.