transporte net information further faultstring error java networking rmi stub

information - java.net.ConnectException: se agotó el tiempo de espera de la conexión: ¿conectar?



no further information minecraft lan (3)

He usado RMI en mi código:

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); } } }

Estos son 4 archivos .java escritos.

Luego compilo todos estos rmic AddServerImpl . rmic AddServerImpl creo un stub usando rmic AddServerImpl . Después de eso, comienzo el registro de rmi en el lado del servidor usando start rmiregistry . Luego empiezo el servidor usando java AddServer y finalmente el cliente usando java AddClient 27.60.200.80 5 9 . Pero nada pasa

La excepción que se lanza en el lado del cliente es java.net.ConnectException : connection timed out : connect

¿Cuál es el motivo y cómo puedo resolver esto?

En el equipo del cliente, estos son los siguientes archivos .class AddClient.class AddServerImpl.class AddServerImpl_Stub.class y en el lado del servidor AddServer.class AddServerImpl.class AddServerImpl_Stub.class AddServerIntf.class


El mensaje de error lo dice todo: su conexión ha expirado. Esto significa que su solicitud no recibió una respuesta dentro de un período de tiempo (predeterminado). Las razones por las que no se recibió respuesta probablemente sean una de:

  • a) El IP / dominio o puerto es incorrecto
  • b) La IP / dominio o puerto (es decir, el servicio) está inactivo
  • c) El dominio IP / está tardando más que su tiempo de espera predeterminado para responder
  • d) Usted tiene un firewall que está bloqueando solicitudes o respuestas en cualquier puerto que esté utilizando
  • e) Usted tiene un firewall que bloquea las solicitudes a ese host en particular
  • f) Su acceso a internet está caído

Tenga en cuenta que su ISP puede implementar firewalls y bloqueo de puerto o de IP.


Número (1): el IP fue incorrecto; es la respuesta correcta. El archivo / etc / hosts (también conocido como C: / Windows / system32 / drivers / etc / hosts) tenía una entrada incorrecta para el nombre de la máquina local. Se corrigió el archivo ''hosts'' y Camel funciona muy bien. Gracias por el puntero.


Si está apuntando a la configuración de un dominio (por ejemplo, fabrikam.com), realice una NSLOOKUP para asegurarse de que todas las direcciones IP que responden son válidas y pueden conectarse en el puerto 389:

NSLOOKUP fabrikam.com Test-NetConnection <IP returned from NSLOOKUP> -port 389