Bien. Entiendo que despues de logueado el cliente , el servidor crea maquinas de estado dedicadas a la comunicacion con ese cliente.
Pero antes de logeado el cliente, el primer paquete que él enviará al servidor ( LOGIN <apodo> ) podría o no contener un número de secuencia.
Suponiendo que ese paquete tuviera un número de secuencia que puede valer 0 o 1, esto da a pensar que el rdt receptor del Servidor a veces acepta un paquete con 0 y a veces acepta un paquete con 1.
Pero ahí está el problema: el rdt receptor que recibe los LOGIN no puede tener una condición para aceptar paquetes ("ahora acepto 0", "ahora acepto 1" ),
pues en ese caso no hay un valor adecuado con el cual enviar los LOGIN. ¿ Por qué no? Veamos las opciones:
1) Todos los clientes mandan LOGIN con 0: entonces si tengo un receptor que alterna entre 0 y 1 el nro de secuencia que acepta, y tengo dos clientes C1 y C2 que mandan <0> LOGIN, entonces solo uno de los paquetes será aceptado. El segundo cliente queda sin ser logueado. No se puede.
2) Todos los clientes mandan LOGIN con 1: Caso similar al anterior, no se puede usar.
3) Algunos Clientes mandan "1 LOGIN" y otros mandan "0 LOGIN" tampoco es valido pues ya que no resuelve el problema.
Si no estoy errado esto me da a concluir que en el servidor hay un rdt dedicado a recibir los loguin y que no tiene sentido que tenga una condición (bit alternante ) para aceptar paquetes ¡ si son LOGIN los debe aceptar!
¿ Estoy equivocado ?
Espero haberme explicado. Saludos.