java.net. ConnectException:la connexion a expiré: se connecter?


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(String 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(String args[]) {
     try {
       String 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 compile tous ces fichiers.Ensuite, je crée un stub en utilisant rmic AddServerImpl. Après cela, je démarre le registre rmi côté serveur en utilisant start rmiregistry. Ensuite, je démarre le serveur en utilisant java AddServer et enfin le client en utilisant java AddClient 27.60.200.80 5 9. , Mais rien ne se passe

L'exception qui est levée du côté client est java.net.ConnectException : connection timed out : connect

Quelle est la raison et comment puis-je résoudre cette?

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

Author: saplingPro, 2011-04-14

5 answers

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'IP / domaine ou le port (c'est-à-dire le service) est en panne
  • c) L'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 requêtes ou les réponses sur n'importe quel port vous êtes à l'aide de
  • e) Vous avez un pare-feu qui bloque les demandes à cet hôte particulier
  • f) Votre accès Internet est en panne

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

 30
Author: Richard H, 2017-06-05 12:18:45

Nombre (1): L'adresse IP était incorrecte - est la bonne réponse. Le fichier /etc/hosts (un.k.un. C:\Windows\system32\drivers\etc\hosts ) avait une entrée incorrecte pour le nom de la machine locale. Corrigé le fichier 'hosts' et Camel fonctionne très bien. Merci pour le pointeur.

 0
Author: Tater_Head, 2012-02-03 20:02:39

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

NSLOOKUP fabrikam.com

Test-NetConnection <IP returned from NSLOOKUP> -port 389
 0
Author: KERR, 2017-10-09 23:57:23

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 ce sont quelques raisons pour cette exception:

  • Trop de requêtes surchargeant le serveur
  • Demande de perte de paquets en raison d'une mauvaise configuration du réseau ou d'une surcharge de ligne
  • Parfois, le pare-feu consomme le paquet de demande avant de couper l'obtention
  • dépend également de la configuration du pool de connexions de threads et de l'état actuel de la connexion piscine
  • Paquet de réponse perdu pendant la transition
 0
Author: Radadiya Nikunj, 2018-04-02 13:52:12

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

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

Délai d'attente HTTP (en millisecondes) - Pour prolonger le délai d'attente indéfiniment, 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 indéfiniment, définissez la valeur sur zéro.

Default: 180000
 0
Author: Lakshay Sharma, 2018-07-30 10:05:40