Piense en la situación en la que su cheque vuelve y dice "la conexión está allí", y antes de que pueda iniciar su FTP, la conexión se interrumpe.
O donde la conexión cae parcialmente a través de su solicitud de FTP.
Dado que hay que codificar para estas situaciones todos modos, simplemente omitir la comprobación
Editar en respuesta a los comentarios de Jason
Usted también puede tener la condición opuesta se producen - que cuando se comprueba para una conexión, ninguno existe, pero un momento después, surge su conexión. Entonces, ¿qué haces? ¿Empiezas a molestar al usuario por la ausencia de una conexión, a pesar de que ahora está disponible?
Al final del día, se trata de una gran cantidad de recursos (su conexión de red, cualquier enrutador intermedio, el host, su servicio de FTP). Todos estos están sujetos a cambios fuera de su control (como lo indicó el comentario de Seth), y ninguna cantidad de prueba previa responderá a la pregunta "¿podré completar esta carga"?
Como el OP indicó que está pensando en un enfoque de "retroceder e intentar más tarde", entonces creo que es apropiado hacer todo eso en segundo plano y no molestar al usuario, a menos que lo haya intentado. por una cantidad de tiempo "irrazonable" sin éxito.
Hola a todos! Antes que nada, ¡gracias por todas sus respuestas! Iré con la respuesta de JaredPar por elegancia. @Damien: Sé que podrían pasar muchas cosas, solo quiero hacer un simple: ¿Hay una conexión neta? ¿No? Vuelve en 30 minutos. ¿Sí? Ok, vamos a intentar subir enfoque. Con el código de JaredPar, no debería ser tan difícil. Nada mucho más sofisticado. Gracias por responder, sin embargo. @kzen: Pinging no es realmente una buena respuesta. Yo, por mi parte, tengo bloqueadas las solicitudes ICMP en mi empresa, por lo que revisarlas de esa manera fallaría incluso con una conexión funcional. ¡Gracias de cualquier manera! – Detariael
Andy Shellam: Su respuesta es básicamente la misma que la de JaredPar, no la he elegido solo porque me parece que JaredPar se ve más elegante. ¡Gracias por tu respuesta de todos modos! – Detariael
Cambió el carácter acusado al de Zyo, ya que incluye loopback/túneles. – Detariael