Closed domja closed 4 years ago
Hola @domja,
Con lo que indicas no es muy fácil entender lo que está pasando. Intenta indicar el error explícito que te arroja y tal vez la línea donde la arroja.
Saludos.
PS: No apreciamos vuelvas a publicar la misma issue en menos de 24 horas. El equipo también tiene tiempo limitado para trabajar y cuando las issues son claras, es más fácil para cualquier persona responder. Sabemos cuando hay una issue sin responder, y si queda rezagada es porque es difícil de responder en poco tiempo, no porque no la veamos.
Hola! este es el error y la línea: line 68, in escuchar_cliente response_bytes_length = socket_cliente.recv(5) OSError: [WinError 10038] Se intentó realizar una operación en un elemento que no es un socket Disculpa por publicarlo denuevo, pense que habia quedado rezagado.
Pero lo raro es que el error sale después de varias veces de comunicación entre el servidor y el cliente en que se hace lo mismo todo el rato, y derrepente sale ese error. Intente printeando el type y dice que si es socket y también con un if para que solo pase si el type es socket y tambien da el error. Por otro lado, cuando se genera la excepción dice que es en esa linea pero yo buscando el error ya tengo claro que es cuando llamo a la funcion comenzar(). Pero no he podido ver por qué, ya que esa funcion hace lo mismo que lo que se hacia hasta ese punto y solo cambia que ahora se envia el comando 'comenzar' hacia el cliente. Gracias por la ayuda!
OK, por lo que encontré en Google, el error aparece cuando se cierra el socket anticipadamente y se intenta realizar alguna operación sobre el como recv
. Te recomiendo revisar el flujo de tu código, y agregar prints para ver si se está cerrando el socket mientras se usa. Intenté verlo con tu código de repositorio pero faltan módulos para ejecutarse.
Gracias!! He intentado haciendo prints y no he podidoo. Ahi deberian estar todos los modulos por si tienes algun minuto para revisarlo!
Hola @domja,
Agregué la línea print("llegué")
en la 113 de cliente.py
, y al ejecutar aparece la línea. Eso me mostró que el cliente es quien cierra el socket mientras el servidor sigue intentando hacer operaciones, el problema debe estar del lado del cliente.
Saludos.
Resuelto!
Al escuchar al cliente desde el servidor funciona bien varias veces y se intercambia bien la informacion, pero derrepente tira un error de que se esta utilizando algo que no es un socket para hacer una operacion, y si pongo que printee el type me dice que si es un socket pero de todas formas me da ese error. Le puse un if para que solo pase si socket_cliente es del tipo socket.socket y pasa el if pero de todas formas despues me da el error y dice que estoy intentando hacer una operacion con algo que no es un socket. LLevo varias horas tratando de arreglarlo y no puedo, alguien sabe que puede estar pasando?