Stat connexion
Résolu/Fermé
khalil-kt
Messages postés
16
Date d'inscription
lundi 13 juin 2016
Statut
Membre
Dernière intervention
10 juillet 2016
-
25 juin 2016 à 19:27
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 juin 2016 à 20:05
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 juin 2016 à 20:05
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
- Gmail connexion autre compte - Guide
- Connexion chromecast - Guide
- Facebook connexion - Guide
- Site inaccessible n'autorise pas la connexion - Guide
3 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié par KX le 25/06/2016 à 20:46
Modifié par KX le 25/06/2016 à 20:46
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
khalil-kt
Messages postés
16
Date d'inscription
lundi 13 juin 2016
Statut
Membre
Dernière intervention
10 juillet 2016
26 juin 2016 à 00:15
26 juin 2016 à 00:15
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
khalil-kt
Messages postés
16
Date d'inscription
lundi 13 juin 2016
Statut
Membre
Dernière intervention
10 juillet 2016
27 juin 2016 à 23:10
27 juin 2016 à 23:10
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)
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
27 juin 2016 à 23:24
27 juin 2016 à 23:24
Je n'ai pas bien compris où tu en étais... Quel est ton code actuel ?
Quand tu dis que ça bug, qu'est-ce que cela signifie ? Tu as une erreur ? Laquelle ?
Quand tu dis que ça bug, qu'est-ce que cela signifie ? Tu as une erreur ? Laquelle ?
khalil-kt
Messages postés
16
Date d'inscription
lundi 13 juin 2016
Statut
Membre
Dernière intervention
10 juillet 2016
>
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
27 juin 2016 à 23:53
27 juin 2016 à 23:53
tu m'as donné un code pour vérifier la connexion internet, mais après tu as ajouter à ce code une parti qui sert à vider le cache de InetAddress,
le bug c'est qu'il ne détecte plus, et quand l'internet se coupe il ne fait rien.
et merci
le bug c'est qu'il ne détecte plus, et quand l'internet se coupe il ne fait rien.
et merci
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
28 juin 2016 à 20:05
28 juin 2016 à 20:05
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();
Modifié par KX le 26/06/2016 à 14:06
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.