java.net.ConnectException: la connexion a expiré: connect?

J’ai utilisé RMI dans mon code:

import java.rmi.*; public interface AddServerIntf extends Remote { double add(double d1,double d2) throws RemoteException; } 

 import java.rmi.*; import java.rmi.server.*; public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf { public AddServerImpl() throws RemoteException { } public double add(double d1,double d2) throws RemoteException { return d1+d2; } } 

 import java.net.*; import java.rmi.*; public class AddServer { public static void main(Ssortingng args[]) { try { AddServerImpl addServerImpl=new AddServerImpl(); Naming.rebind("AddServer",addServerImpl); } catch(Exception exc) { System.out.println(exc); } } } 

 import java.rmi.*; public class AddClient { public static void main(Ssortingng args[]) { try { Ssortingng Url="rmi://"+args[0]+"/AddServer"; AddServerIntf addServerIntf=(AddServerIntf)Naming.lookup(Url); System.out.println("The first number is "+args[1]); double d1=Double.valueOf(args[1]).doubleValue(); System.out.println("The second number is: "+args[2]); double d2=Double.valueOf(args[2]).doubleValue(); System.out.println("The Sum is: "+addServerIntf.add(d1,d2)); } catch(Exception exc) { System.out.println(exc); } } } 

Ce sont 4 fichiers .java écrits.

Ensuite, je comstack tous ces rmic AddServerImpl . rmic AddServerImpl je crée un stub aide de rmic AddServerImpl . Après cela, je lance le registre rmi côté serveur en utilisant start rmiregistry . Ensuite, je démarre le serveur avec java AddServer et enfin le client avec java AddClient 27.60.200.80 5 9 . Mais rien ne se passe

java.net.ConnectException : connection timed out : connect est une exception levée côté client java.net.ConnectException : connection timed out : connect

Quelle est la raison et comment puis-je résoudre ce problème?

Sur la machine cliente, ce sont les fichiers .class suivants AddClient.class AddServerImpl.class AddServerImpl_Stub.class et côté serveur AddServer.class AddServerImpl.class AddServerImpl_Stub.class AddServerIntf.class

Le message d’erreur dit tout: votre connexion a expiré. Cela signifie que votre demande n’a pas reçu de réponse dans un délai (par défaut). Les raisons pour lesquelles aucune réponse n’a été reçue sont probablement l’une des suivantes:

  • a) L’IP / domaine ou le port est incorrect
  • b) L’adresse IP / domaine ou le port (service) est en panne
  • c) L’adresse IP / domaine prend plus de temps que votre délai d’attente par défaut pour répondre
  • d) Vous avez un pare-feu qui bloque les demandes ou les réponses sur le port que vous utilisez
  • e) Vous avez un pare-feu qui bloque les demandes à cet hôte particulier
  • f) Votre access internet est en panne

Notez que des pare-feu et un blocage de port ou d’IP peuvent être en place chez votre FAI

Nombre (1): L’adresse IP était incorrecte – est la bonne réponse. Le fichier / etc / hosts (C: \ Windows \ system32 \ drivers \ etc \ hosts) contient une entrée incorrecte pour le nom de l’ordinateur local. Corrigé le fichier ‘hosts’ et Camel fonctionne très bien. Merci pour le pointeur.

Si vous pointez la configuration sur un domaine (par exemple, fabrikam.com), effectuez une NSLOOKUP pour vous assurer que toutes les adresses IP qui ont répondu sont valides et peuvent être connectées au port 389:

 NSLOOKUP fabrikam.com Test-NetConnection  -port 389 

Exception: java.net.ConnectException

Cela signifie que votre demande n’a pas reçu de réponse du serveur dans les délais impartis. Et voici quelques raisons de cette exception:

  • Trop de requêtes surchargeant le serveur
  • Demande de perte de paquet en raison d’une configuration réseau incorrecte ou d’une surcharge de ligne
  • Parfois, le pare-feu consum le paquet de demande avant que le serveur obtienne
  • Dépend également de la configuration du pool de connexions d’unités d’exécution et de l’état actuel du pool de connexions.
  • Paquet de réponse perdu pendant la transition

Si vous attendez une réponse retardée du système cible et estimez que DevTest met fin à la connexion, vous pouvez append ci-dessous deux propriétés au fichier local.properties et redémarrer les composants:

 lisa.http.timeout.connection=0 lisa.http.timeout.socket=0 lisa.http.timeout.connection 

Délai HTTP (en millisecondes) – Pour prolonger le délai d’attente de manière indéfinie, définissez les valeurs sur zéro.

 Default: 15000 lisa.http.timeout.socket 

Délai d’attente HTTP (en millisecondes). Pour prolonger le délai d’attente de manière indéfinie, définissez la valeur sur zéro.

 Default: 180000