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

Servlets/JSP Java Discussion :

Scanner les ports d'une machine distante


Sujet :

Servlets/JSP Java

  1. #21
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Donc c'est clairement un problème de timeout trop long. Voir mon post précédent.

  2. #22
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    J'ai changé le timeout mais rien ne s'est passé!!

  3. #23
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    as tu bien compilé et mis sur le servuer le code modifié? Parce qu'il n'y a pas de raison que le timeout ne sois pas respecté. On peux voir le code modifié?

  4. #24
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Voilà la classe PScanner que j'ai modifiée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    package servers;
     
    import java.net.*;
    import java.io.IOException;
     
     public class PScanner {
            public static int scan( InetAddress remote,int port)
            {       
            int b=1;
            //int port;
            String hostname = remote.getHostName();
            try {
                     Socket s1 = new Socket();
                     s1.bind(null);
                     s1.connect(new InetSocketAddress(hostname,port), 500);
                     b=1;
                     s1.close();
                }
                     catch (IOException ex)
                     {
                     b=0;
                     }
            return b;
               }
    }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    peux tu modifier le code comme ceci et nous donner le résultat?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try {
                     Socket s1 = new Socket();
                     s1.bind(null);
                     java.util.Date start = new java.util.Date();
                     s1.connect(new InetSocketAddress(hostname,port), 500);
                     System.out.println("Délai de tentative: "+(new java.util.Date().getTime()-start.getTime());
                     b=1;
                     s1.close();
                }
                     catch (IOException ex){ return 0; }
                     catch (SocketTimeoutException ex){ return 0; }
            return b;
               }
    et nous dire ce qui s'affiche dans ta console?

  6. #26
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Où je mets ce code dans la même application web ou dans une application normale car j'ai modifié le code et j'ai le meme temps d'exécution que précédent!!

  7. #27
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    dans ton PScanner

  8. #28
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Je l'ai essayé mais sans changement tu as mis System.out alors qu'on est sur Web!

  9. #29
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    regarde ce que ca affiche dans la console de ton conteneur webapp (vu que je suis dans une méthode, j'ai pas beaucoup d'autre choix que system.out)

  10. #30
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Le résultat est le même!!
    Le problème est que lorsque la machine est déconnectée le programme se tente de rechercher les services alors qu'il doit passer à la machine suivante!!

  11. #31
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    elle affiche quoi la console dans ton conteneur?

  12. #32
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Elle affiche un tableau qui contient les informations sur chaque machine avec les états des services(flèche UP ou flèche Down).

  13. #33
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    la console, là ou doit appareitre les system.out du code que je t'ai demandé de changer.

  14. #34
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 42
    Points : 17
    Points
    17
    Par défaut re
    Voilà la console run:
    init:
    deps-module-jar:
    deps-ear-jar:
    deps-jar:
    library-inclusion-in-archive:
    library-inclusion-in-manifest:
    compile:
    compile-jsps:
    do-dist:
    dist:
    Starting server Bundled Tomcat (5.5.17)
    Starting Tomcat process...
    Waiting for Tomcat...
    Tomcat server started.
    Incrementally deploying http://localhost:8084/Essai
    Completed incremental distribution of http://localhost:8084/Essai
    run-deploy:
    Browsing: http://localhost:8084/Essai/
    run-display-browser:
    run:
    BUILD SUCCESSFUL (total time: 22 seconds)


    Est ce que je peux afficher le résultat sur console alors que l'application est de type Web?

  15. #35
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    la console de tomcat, normalement, se trouve dans catalina.out, sauf si t'a démarré tomcat avec des paramètres particuliers (c'est pas parce que c'est une application web qu'elle n'a pas de console pour afficher ses logs, heureusement)

  16. #36
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Pour information, ici, ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package servers;
     
    import java.net.*;
    import java.io.IOException;
     
     public class PScanner {
            public static int scan(String hostname,int port)
            {
            int b=1;
            try {
                     Socket s1 = new Socket();
                     s1.bind(null);
                     s1.connect(new InetSocketAddress(hostname,port), 500);
                     b=1;
                     s1.close();
                }
                     catch (IOException ex)
                     {
    ex.printStackTrace();
                     b=0;
                     }
            return b;
               }
        public static void main(String argv[]){
             System.out.println("google port 80... ");
             System.out.println("resultat: "+scan("www.google.com",80));
             System.out.println("google port 6969... ");
             System.out.println("resultat: "+scan("www.google.com",6969));
             System.out.println("www.microsoft.com port 6969... ");
             System.out.println("resultat: "+scan("www.microsoft.com",6969));
             System.out.println("192.168.1.99 6969... ");
             System.out.println("resultat: "+scan("192.168.1.99",6969));
        }
    }
    Affiche ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    java servers.PScanner 
    google port 80... 
    resultat: 1
    google port 6969... 
    java.net.SocketTimeoutException: connect timed out
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    	at java.net.Socket.connect(Socket.java:519)
    	at servers.PScanner.scan(PScanner.java:13)
    	at servers.PScanner.main(PScanner.java:28)
    resultat: 0
    www.microsoft.com port 6969... 
    java.net.SocketTimeoutException: connect timed out
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    	at java.net.Socket.connect(Socket.java:519)
    	at servers.PScanner.scan(PScanner.java:13)
    	at servers.PScanner.main(PScanner.java:30)
    resultat: 0
    192.168.1.99 6969... 
    java.net.SocketTimeoutException: connect timed out
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
    	at java.net.Socket.connect(Socket.java:519)
    	at servers.PScanner.scan(PScanner.java:13)
    	at servers.PScanner.main(PScanner.java:32)
    resultat: 0
    Preuve que le timeout est une solution qui fonctionne. La seule raison pour laquelle ca ne fonctionnerais pas dans ton cas, serait que tu n'a pas mis à jour le code sur ton serveur java / ou que tu n'a pas compilé le code avec les timeout / ou que tu regarde la mauvaise webapp, bref tout ce qui est au delà du code et résultat d'erreur de manipulation.

Discussions similaires

  1. Lister les fichiers d'une machine distante
    Par essadiki_ista dans le forum Général Java
    Réponses: 4
    Dernier message: 05/11/2013, 20h29
  2. Réponses: 0
    Dernier message: 06/06/2012, 10h44
  3. Bloquer un service (port) d'une machine distante en Java
    Par mbollo2005 dans le forum Général Java
    Réponses: 1
    Dernier message: 23/12/2010, 13h50
  4. Réponses: 0
    Dernier message: 14/11/2010, 16h49
  5. Réponses: 4
    Dernier message: 10/09/2002, 17h09

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