se pueden perder, tenemos que estar preparados para retransmitir el datagrama. Encerramos en un ciclo while enviando e intentando recibir un echo hasta cinco veces. Enviar el datagrama: línea 32 send() transmite el datagrama a la dirección y puerto especificado en el datagrama. Manejar la recepción del datagrama: línea 33-44 receive() bloquea hasta que que se reciba o el tiempo expire. La caducidad del tiempo es indicada por una InterruptedIOException. Si el tiempo expira, incrementamos los intentos incrementando la variable “intentos” y comenzamos de nuevo. Despues de que el máximo número de intentos, el while se sale sin recibir un datagrama. Si receive() es exitoso, establecemos la bandera respuestaRecibida a TRUE, causando que el while termine y se salga a la siguiente línea. Como los paquetes pueden venir de donde sea, checamos la dirección del remitente del datagrama recibido para verificar si coincide con la dirección del servidor echo especificado.