Open MaximilianWilke opened 2 years ago
Hola,
¿Puedes poner el error completo que te sale please? para tener más contexto. Tambien si puedes hacer push del código que estás probando para ver cualquier otra cosa.
Por otro lado, tal vez algún motivo es que el puerto (port
) utilizado por el cliente es distinto al servidor. Esto hace que no se logren conectar.
Quedamos atentos,
Complementando la respuesta anterior,
Otro caso puede ser el siguiente, el main.py
del servidor no debe detener su ejecución y por eso lo ponemos en un while True
. En otro caso ese main finaliza su ejecución, el servidor se va a cerrar y el ciente no va a encontrar ningun servidor activo :c
De hecho sin el while True ocurre el error, pero con este no sucede nada al llamar al cliente(a todo eso lo del error es un print que el cliente hace para el ConnectionError)
El push esta hecho, en teoría, queria añair que luego de un tiempo el servidor printea un error de conexión cuando no se puede conectar con el cliente
Esta respuesta es basandome en el código que está en tu repositorio (de la T03)
No pasará nada porque al servidor le falta implementar los métodos para que el servidor reciba los mensajes del cliente y le mande una respuest de vuelta. Por lo tanto, hay conexión, pero luego el cliente manda un mensaje y el servidor no es capaz de escucharlo.
Vi que el código de la AF3 si está completo. ¿ese te funciona ejecutando desde la terminal (cmd)? ¿o se te cae en alguna cosa?
El de la actividad si funciona, no los habia implementado porque no estaba seguro si el codigo estaba bien
Yap, entonces la recomendación es que ese código de la AF3 vayas viendo qué hace cada función que tienes y las vayas pasando a tu tarea una por una. De este modo, el servidor de tu tarea quedará completo en todo el pipeline (aceptar clientes, escuchar clientes y enviar respuesta al cliente).
Luego es necesario comenzar a completar el servidor con el tipo de mensajes que esperas del cliente y las respuestas que le dará este. En la AF3 hacemos eso con 2 comandos del cliente: validar_login
y descargar_musica
. La idea es cambiar esos comandos por los tuyos que sean acorde a la tarea 3.
Saludosヾ(^-^)ノ
Ya, una ultima cosa, el comando sendall como funciona, busque información pero no encontre una respuesta que de un paso a paso??
Hola,
sendall
es un método del socket que recibe una secuencia de bytes y se asegura de enviar, al socket indicado, toda dicha secuencia, la cual será escuchada por recv
del otro socket.
Prerrequisitos
(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")
Duda
Cuando corro mi servidor en un cmd, y el cliente en otro, el servidor me entrega el output esperado pero el cliente me dice que el servidor no se esta inicializando, esto por qué puede suceder??