J'ai une application Java qui s'exécute toutes les 10 minutes. Donc, à chaque fois que le thread commence à s'exécuter je dois vérifier s'il y a une connexion internet ou non. Donc j'utilisais la classe Socket pour ça. Mais le problème ici est que la classe de socket fonctionne bien si le fil n'est pas connecté à mon système. Pour moi si je branche dans le fil alors j'ai LAN mais pas internet. Dans ce cas, la classe socket ne parvient pas à générer une erreur. Voici mon code -vérifier la connectivité Internet en Java
Socket socket = null;
try {
socket = new Socket("www.google.com", 80);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (socket != null) try { socket.close();
}
catch(IOException e) {
e.printStackTrace();
}
System.exit(0);
}
J'ai vérifié le code ici - Detect internet Connection using Java. Mais l'utilisation de getContent() n'aide pas.
Non lié à votre problème mais vous devez savoir que la section 'finally' ne sera pas exécutée si catch invoquera' System.exit (0) '(au moins dans Java7). – Pshemo