en esta parte no deberia haber un bucle repeat until(remain == nil)?
asumiendo que la conexion con el servidor es pesima y se pierden todos los datagramas enviados haciendo que salte el timeout, en este caso deberia hacerce un nuevo send porque sino estariamos perdiendo esa parte de informacion, he visto que a veces se usa este bucle para asegurar que se envia toda la informacion y a veces no, muchas veces la misma solucion utiliza este bucle en algunas partes y en otras no lo usa, como es el caso de el examen de julio de este mismo año:
-Acá usa el bucle (de hecho aca no se usa el bucle para el envio del mensaje de bienvenida, por lo que podria no llegar al destino, pero si se usa para recibir el login)
Me gustaria que se aclare el uso del bucle porque me parece que en las soluciones su uso aparece de manera arbitraria y no me queda claro cuando necesito usarlo