Closed sjmunoz closed 5 years ago
Hola! Tengo esta misma duda. Revisando opciones, al parecer hay 2:
Sabiendo que esto tendrá impacto a lo largo de todo el trabajo, ¿Hay alguna recomendación en particular de cuál de los dos approaches seguir?
Hola!
No es necesario ninguno de los dos approaches, porque su servidor no requiere realizar otras acciones al mismo tiempo que espera por nuevas conexiones entrantes.
Por esa razón, decidimos simplificar el flujo y en al ayudantía dijimos que la primera parte del servidor (las conexiones) podían pensarlas de forma lineal. Esto quiere decir que su servidor debería crear un socket, bloquearse hasta que el primer cliente se conecte, aceptar al primer cliente, bloquearse hasta que el segundo cliente se conecte, aceptar al segundo cliente y recién aquí empezar con la lógica del juego.
De esta sección de conexiones deberían guardar los identificadores del socket de cada cliente, para saber dónde recibir y enviar bytes.
Claro, pero por algún motivo, me pasa lo mismo de #125 , por eso preguntaba. Adaptando algunas cosas de la ayudantía, no logro que un segundo cliente se conecte al servidor, luego de haber conectado otro. El programa queda esperando en accept y no se establece la nueva conexión :(
Voy a responder en la otra issue, pero en resumen el servidor mostrado en la ayudantía no está hecho para soportar múltiples clientes jeje
Ok, gracias. Te leo allá entonces
Hola!
Es necesario usar threads en el servidor para manejar la conexiones entre los clientes?