Stat connexion
Résolu
khalil-kt
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je développe actuellement un logiciel qui réagi au moment où l'internet se coupe,
est ce qui'il a une classe qui permet d'obtenir le statut de la connexion,
et merci;
ps : je suis sur windows
je développe actuellement un logiciel qui réagi au moment où l'internet se coupe,
est ce qui'il a une classe qui permet d'obtenir le statut de la connexion,
et merci;
ps : je suis sur windows
A voir également:
- Stat connexion
- Gmail connexion - Guide
- Windir stat - Télécharger - Gestion de fichiers
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
3 réponses
Bonjour,
Le seul moyen de vérifier la connexion c'est de faire un test sur une page quelconque sur internet et vérifier quelle répond correctement.
Le seul moyen de vérifier la connexion c'est de faire un test sur une page quelconque sur internet et vérifier quelle répond correctement.
import java.net.*; private static final String TEST_HOST = "www.google.fr"; /** * @return connection time (in nanoseconds) or -1 if connection fails */ public static long checkConnection() { try { long t = System.nanoTime(); InetAddress.getByName(TEST_HOST); return System.nanoTime() - t; } catch (UnknownHostException e) { return -1; } }La confiance n'exclut pas le contrôle
merci pour votre réponse, j’espérais trouver un moyen mieux mais tant pis ça marche aussi
merci encore une fois
merci encore une fois
J'ai essayer mais après un certain temps ça bug, je pense qu c'est le cache qui n'est pas bien supprimer,
ps : j'ai aussi séparer fonction (peut être c'est la source du problème)
ps : j'ai aussi séparer fonction (peut être c'est la source du problème)
En fait il faudrait uniquement considérer mon deuxième code, celui avec la suppression dans le cache.
Vu mon code d'exemple l'ordinateur va biper (si le son est allumé) quand internet sera coupé :
Vu mon code d'exemple l'ordinateur va biper (si le son est allumé) quand internet sera coupé :
long t = checkConnection("www.google.fr"); if (t < 0) // alert beep Toolkit.getDefaultToolkit().beep();
Donc soit on implémente une vraie connexion vers la page cible et on vérifie qu'elle répond, mais cela sollicite inutilement le serveur cible et prends beaucoup plus de temps...
Soit on récupère ce cache pour pouvoir effacer la page cible de ses données avant de l'interroger, c'est ce que je propose avec le code ci-dessous :
Quelques évolutions donc :
Là j'ai testé, et en faisant une boucle sur checkConnection() je repère immédiatement quand internet est coupé (les valeurs passent négatives) et quand il est de nouveau accessibles (les temps reviennent positifs)
Exemple :
Voici à quoi ressemble le tracé des points (on voit bien la coupure internet)
La majorité des succès répondent entre 0.5 et 0.7 ms et les échecs en moins de 0.1 ms, même s'il y a quelques valeurs très au-dessus en cas d'échecs (jusqu'à 15 ou 20 secondes, ce qui explique les "trous" vers 1:52:00 et 1:52:30)
Si on faisait une vraie connexion à la page (avec URL.openStream() par exemple) on obtiendrait des temps de réponses de 30 à 40 ms, soit 50 fois plus long.