IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

methode isReachable ne fonctionne pas


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 192
    Par défaut methode isReachable ne fonctionne pas
    bonjour,

    j'ai un programme ou je fais des tests ping avec la méthode isReachable de la classe InetAddress.

    Seulement certaines adresses IP renvoie false (meme avec un timeout enorme) alors qu'elles sont accessibles... puisque je peux pinger directement dessus...

    comment est ce possible ?

    le ping n'est pas bloqué par java puisque certains ping fonctionnent..

    La machine qui refuse de me répondre est sous windows, est ce possible que cela influe avec java ? ca m'etonnerait..

    merci d'avance

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Dans la javadoc de isReachable:

    A typical implementation will use ICMP ECHO REQUESTs if the privilege can be obtained, otherwise it will try to establish a TCP connection on port 7 (Echo) of the destination host.
    Il y a fort a parier que votre processus java n'a pas les droit au niveau de l'OS pour faire appel au ICMP ECHO REQUEST, et dois donc se rabattre sur le port 7, qui n'est pas toujours accessible (ça dépend de l'os visé et de sa configuration).

    La commande "ping" en ligne de commande, sous unix, uilisera toujours ICMP ping et aura toujours les droits car elle tourne en root, ce qui n'est pas le cas de votre processus java.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    Bonjour à toi,

    En revanche, je sais pas ce que tu veux pinger, mais une manière de faire (qui je sais n'est pas très recommandée) peut être de créer un objet de type socket dessus, par exemple sur le port 80. Si il n'y a pas d'exception, ton "ping" est bon *mode sioux* désolé mais là j'ai pas mieux à proposer, ça fonctionne dans certains cas, après ce n'est bien sûr pas applicable à tout.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 192
    Par défaut
    merci de vos reponses,

    je crois que j'ai trouvé mon problème, c'est parce que je tente de pinger du windows, il y a des problèmes ENTRE les OS...

    mais comme je dois pinger uniquement des systèmes linux, je vais pas chercher...

    pour tchize, je ne sais pas si les droits posent problemes, il me semble que meme lancée en root, mon appli refusait le ping.. donc le probleme vient bien de l'OS qui repond a la requete

    merci pour votre temps dans tous les cas !

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    Si tu fais comme j'ai écrit plus haut saches que ça fonctionne entre les différents OS

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 192
    Par défaut
    effectivement ! mais je ne veux pas passer par socket, je vais lancer une commande systeme; au pire je trouverai une solution qui tient un peu avec des ficelles! mais pas bete le coup de la socket

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut Sinon
    Si as cette possibilité tu peux aussi passer par SNMP et le framework snmp4j avec un timeout que tu peux paramétrer et tout, mais c'est pas de la commande système désolé voilà bon courage à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 10/01/2011, 00h33
  2. Réponses: 3
    Dernier message: 02/12/2008, 16h22
  3. mes method bean ne fonctionne pas
    Par ahmed.normal.tn dans le forum JSF
    Réponses: 5
    Dernier message: 21/04/2008, 10h19
  4. [VB.NET] la methode thimer ne fonctionne pas why?
    Par thierry007 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/12/2006, 18h17
  5. Réponses: 2
    Dernier message: 16/11/2006, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo