Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duda limitar cantidad de clientes conectados al servidor #262

Open
7 tasks done
FranciscoPinto1138 opened this issue Jun 13, 2022 · 1 comment
Open
7 tasks done
Assignees
Labels
Tarea 3 Dudas sobre la T3

Comments

@FranciscoPinto1138
Copy link

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

  • Leí las reglas del foro (https://github.com/IIC2233/syllabus/issues/4)
  • Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues)
  • Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (https://github.com/IIC2233/syllabus/issues/1)
  • Mi duda no se trata sobre una librería, built-in o mala práctica, ya que eso se pregunta en la issue creada para ello.
  • Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (https://iic2233.github.io/contacto/)
  • Utilizaré un título descriptivo y llenaré correctamente esta plantilla
  • De ser necesario, solo colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado copia

Duda

Holaa, estoy intentando limitar la cantidad de jugadores que pueden conectarse al servidor (máximo 4 según enunciado). Para esto intenté poner un "if" al momento de usar socket.accept() y así dejar de aceptar cuando hubiera cierto número de conexiones. A su vez, intenté notificar al usuario en cliente usando un except ConnectionRefusedError para cuando se negara la conexión del servidor, pero esta excepción no ocurre. ¿Cómo hago para que el cliente se entere de que su conexión ha sido denegada? Para no mostrar tanto mi código hice un push de esto y cambié el número de jugadores máximo en parametros.json a 0 y así facilitar la revisión :) Muchas gracias de antemano.

@FranciscoPinto1138 FranciscoPinto1138 added the Tarea 3 Dudas sobre la T3 label Jun 13, 2022
@Francisco-Aguilera-xd Francisco-Aguilera-xd self-assigned this Jun 14, 2022
@Francisco-Aguilera-xd
Copy link

Francisco-Aguilera-xd commented Jun 14, 2022

Hola!
Estuve revisando tu código, y creo que lo mejor que puedes hacer para informarle al cliente que no se puede conectar, es crear un comando en tu diccionario de comandos que le diga al cliente que la conexión a sido rechazada. Esto es porque no podrás "enviar un error al cliente", en vez, puedes enviar desde el servidor un mensaje que detone en el cliente un error si llega ese mensaje en particular. Por ejemplo podrías crear un diccionario que sea:

{
"comando": "error_max_clientes",
}

y que el cliente reaccione a este comando levantando un error:

if comando == "error_max_clientes":
raise ConnectionRefusedError

Espero que se haya entendido la idea

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tarea 3 Dudas sobre la T3
Projects
None yet
Development

No branches or pull requests

2 participants