Duda problema programacion de sockets Febrero 2019

Duda problema programacion de sockets Febrero 2019

de Sebastian Piceda Palmieri -
Número de respuestas: 1


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

En respuesta a Sebastian Piceda Palmieri

Re: Duda problema programacion de sockets Febrero 2019

de Martin Giachino -

Respecto a tu primer pregunta, los send/receive están dentro de un while (true), de manera que siempre se está reintentando enviar y recibir, salvo que el socket se cierre.

Respecto a tu segunda pregunta, la regla es leer en bucle a menos que se diga lo contrario o que tú entiendas que claramente no es necesario. Si en alguna solución no está y era necesario seguramente fue por olvido y no por otro motivo.

Martín