Estoy trabajando en un juego RMI de línea de comandos, pero, cada vez que intento mi servicio, recibo un error como este:Java RMI Conectar Excepción: La conexión se negó a acoger/tiempo de espera
java.rmi.ConnectException: Connection refused to host: 192.168.56.1; nested exception is:
java.net.ConnectException: Connection timed out: connect
Este es la clase principal de mi Server
:
public class RMIWar {
public static void main(String[] args) throws RemoteException, MalformedURLException {
try {
Controle obj = new Controle(4);
Registry reg = LocateRegistry.createRegistry(1099);
System.out.println("Server is ready");
reg.rebind("CtrlServ", obj);
}
catch (Exception e) {
System.out.println("Error: " + e.toString());
}
}
}
el principal de mi clase Client
:
public class RMIWarClient {
public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException {
try {
Registry registry = LocateRegistry.getRegistry("localhost");
ControleInt ctrl = (ControleInt) registry.lookup("CtrlServ");
System.out.println("CtrlServ found...\n");
BioRMI bio = new BioRMI(null, 5,5,5);
ctrl.thRegister("Test", bio.atk, bio.def, bio.agi);
}
catch (Exception e) {
System.out.println("Error: " + e);
}
}
}
¿Alguna sugerencia?
Nada de esto daría cuenta de un tiempo de espera de conexión. – EJP
un puerto firewall sería –
@EJP Sobre el tiempo de espera de conexión, escribí: "Prueba si su puerto 1099 está disponible". Esto significaría verificar si el puerto está disponible o cortafuegos. Mi nota sobre el inicio de la investigación es porque el OP no escribió nada al respecto y porque, a veces, la falta de ejecución del servicio es la razón de que se rechace una conexión. Si el Cliente desea ejecutar un método de Servidor, pero si el Servidor no se ejecutó localmente con el servicio, el Cliente nunca ejecutará el método. –