[Resolvido] RMI - Connection Refused

3 respostas
P

Bom dia a todos.

Pessoal, sei que tem muitos tópicos falando sobre RMI, mas meu código já está parcialmente funcionando.

Meu server está rodando OK. O problema é quanto ao cliente, ele ta retornando um erro de Connection Refused.

Postando os códigos...

Server:

package rmiteste;

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class HelloServer {

    public static void main(String args[]) {
        //Cria e instala o security manager
        //System.setSecurityManager(new RMISecurityManager() );
        try {
            //Cria HelloImpl
            //Runtime.getRuntime().exec("rmiregistry 1010");
            //Registry registry = LocateRegistry.getRegistry(2001);
            Registry registry = LocateRegistry.createRegistry(1010);
            HelloImpl obj = new HelloImpl();
            registry.bind("HelloServer", obj);
            System.out.println("Hello Server pronto.");
        } catch (Exception e) {
            System.out.println("HelloServer erro " + e.getMessage());
        }
    }
}

Cliente:

package rmiteste;

import java.rmi.*;

public class HelloClient {

    public static void main(String args[]) {
        //Cria e instala o security manager
        //    System.setSecurityManager (new RMISecurityManager () );
        try {
            //Hello obj = (Hello) Naming.lookup("rmi://localhost/HelloServer");
            Hello obj = (Hello) Naming.lookup("localhost/HelloServer");
            System.out.println(obj.sayHello());
        } catch (Exception e) {
            System.out.println("HelloClient erro" + e.getMessage());
        }
        System.exit(0);
    }
}

Impl:

package rmiteste;

import java.rmi.*;
import java.rmi.server.*;

public class HelloImpl extends UnicastRemoteObject implements Hello {

    public HelloImpl() throws RemoteException {
        super();
    }

    public String sayHello() {
        return "HelloWorld!";
    }
}
Hello:
package rmiteste;

import java.rmi.*;

public interface Hello extends Remote {
    String sayHello() throws RemoteException;
}

Não consegui encontrar o problema de jeito nenhum.... :?

O server roda normalmente...

Erro que Cliente retorna:

HelloClient erroConnection refused to host: 192.168.0.32; nested exception is: 
        java.net.ConnectException: Connection refused: connect

Esse IP que ele mostra está configurado certo. Já chequei! tentei executar o código em outra máquina. Mesmo erro.

Se alguem puder ajudar, agradeço d++

3 Respostas

K

Tem algum firewall no servidor? Se tiver, libere a porta que deve funcionar.

P

Verifiquei aqui, está usando o firewall do windows, mas esta desabilitado, e no modem, a porta esta liberada…

até agora estou quebrando a cabeça com esse erro… :?

P

Pessoal, nem acredito.

Erro básico no código lá em cima…

Nessa parte:

Hello obj = (Hello) Naming.lookup("localhost/HelloServer");

Se eu colocar o número da porta direto na conexão, funciona certinho… fica assim então:

Hello obj = (Hello) Naming.lookup("localhost:1010/HelloServer");

Eita!! RMI ainda vai me dar muita dor de cabeça :?

Ok pessoal, muito obrigado!!

Em especial ao kicolobo por ajudar rapidamente! valeu!!!

[]'s

Criado 8 de novembro de 2010
Ultima resposta 8 de nov. de 2010
Respostas 3
Participantes 2