Le persone hanno suggerito di utilizzare INetAddress.isRecondable. Il problema è che alcuni siti configurano i loro firewall per bloccare i messaggi Ping ICMP. Quindi un "ping" potrebbe fallire anche se il servizio web è accessibile.
E, naturalmente, è vero anche il contrario. Un host può rispondere a un ping anche se il server web non funziona.
E, naturalmente, una macchina potrebbe non essere in grado di connettersi direttamente a determinati (o tutti) server Web a causa delle restrizioni locali del firewall.
Il problema fondamentale è che "in grado di connettersi a Internet" è una domanda mal definita, e questo genere di cose è difficile da testare senza:
- informazioni sul computer dell'utente e il networking "locale" ambiente e
- informazioni su cosa l'app deve accedere.
Quindi, in genere, la soluzione più semplice è che un'applicazione cerchi solo di accedere a qualsiasi cosa abbia bisogno di accedere e ricorrere all'intelligenza umana per fare la diagnosi.
fonte
2009-09-10 00:02:22
sì, ma questo "duplicato" ha accettato una risposta che non è nemmeno una soluzione così non si preoccupa – Chris
La risposta a questo è la stessa di mamy altre domande della stessa forma. L'unico modo corretto per determinare se una risorsa è disponibile è provare a usarlo, nel corso normale dell'esecuzione, e far fronte all'errore come e quando accade. Qualsiasi altra tecnica è una forma o l'altra di cercare di predire il futuro. – EJP