Prise de connecter les délais d'expiration: où est la norme?

Le contexte de mon travail est mon réseau local.

Les exemples de code ci-dessous sont écrits en langage Java, mais ma question est sur TCP, pas de programmation.

J'ai expérimenté la suite de délai de connexion:

  • 2 ms lorsque la connexion est établie
  • 1 005 ms quand l'hôte est en vie, mais de ne pas écouter sur le socket spécifié port
  • 21 000 ms lors de l'hôte est en baisse

Ces valeurs proviennent de l'observation de mon réseau mais je présume qu'il existe un RFC.

Voici quelques informations sur le délai d'attente:

Pouvez-vous me donner plus de pointeurs?

@Override
public void run() {
   for( int port = _portFirst; port < _portLast; ++port ) {
      String  host    = "192.168.1." + _address;
      boolean success = false;
      long    before  = System.currentTimeMillis();
      try {
         Socket        socket   = new Socket();
         SocketAddress endpoint = new InetSocketAddress( host, port );
         socket.connect( endpoint, 0 );
         success = true;
         socket.close();
      }//try
      catch( ConnectException c ){/**/}
      catch( Throwable t ){
         t.printStackTrace();
      }
      long duration = System.currentTimeMillis() - before;
      System.err.println( host + ":" + port + " = " + duration );
      _listener.hostPinged( host, port, success, duration );
   }
}
Ces délais d'attente sont contrôlés par votre système d'exploitation, système d'exploitation/Version avez-vous?
BTW balayage de port peut être fait facilement par les outils existants comme nmap je voudrais envisager de l'utiliser si vous le pouvez.
Merci, je sais nmap, lookatlan.com ou overlooksoft.com mais mon objectif est d'acquérir des connaissances fondamentales

OriginalL'auteur Aubin | 2012-11-07