Re:RMI, como juntar tudo?

3 respostas
ramilani12

Vc já rodou em duas telas de console ? , sinceramente nunca rodei um RMI com Plugin do Eclipse até desconheço esse plugin …

3 Respostas

ramilani12

Fenix me desculpe em responde tarde a sua mensagem o guj tbm nao ajuda o sistema sempre caia qndo queria acessar o seu post , mas vai lá

Fácil:

:arrow: Primeiramente vc compila .java
:arrow: Segundo vc cria o seu stub rmic Hello
:arrow: Terceiro vc roda o rmiregistry &(linux) ou start 1099 (windows)
:arrow: Quarto vc roda sua classe servidor em um console java HelloServer
:arrow: Quinto vc roda o seu cliente em outro console java HelloClient

Qualquer coisa so gritar …

Diogo_Capistrano_Nob

Estou começando agora em conexões RMI, peguei várias tutoriais e artigos na internet, inclusive um aqui no guj, todos muito bom. Mas fiquei com algumas dúvidas, abaixo seguem as mesmas:

Tenho todos o códigos escritos como faço para juntar tudo para ver funcionando, sendo que, usando o eclipse e o seu plugin de RMI.

Abaixo seguem algumas classes simples só para exemplo, e para que possa ser explicado tudo através delas:

//Interface a ser implemantada
package remoto;

import java.net.*;
import java.rmi.*;

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

//Classe que ficará remotamente
package remoto;

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

public class HelloImpl extends UnicastRemoteObject implements Hello {
   
    public HelloImpl() throws RemoteException{
        super();
    }

    public String sayHello() {
        return "HelloWorld!";
    }
}

//Aplicação que irá funcionar como server
import java.net.*;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import remoto.HelloImpl;

public class HelloServer {
    public static void main (String args [ ]) {
        //Cria e instala o security manager
        System.setSecurityManager(new RMISecurityManager() );
        try {
            //Cria HelloImpl
            HelloImpl obj = new HelloImpl();
            Naming.rebind("HelloServer", obj);
            System.out.println("Hello Server pronto.");
        } catch(Exception e) {
            System.out.println("HelloServer erro"+ e.getMessage());
        }
    }
}

package cliente; // Aplicação que se encontra no cliente

import java.net.*;
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.*;
import remoto.*;

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

Como faço para juntar tudo e colocar a aplicação para funcionar, usando o plugin do eclipse???
A minha estrutura de diretório está desta maneira:
RMI
-cliente
–HelloCliente.java
-remoto
–Hello.java
–HelloImpl
-servidor
–HelloServer

Diogo_Capistrano_Nob

Blz, e como faço pra rodar nos dois consoles sem usar o plugin???Gostaria de poder simular um conexão…
Desde já agradeço

Criado 28 de agosto de 2006
Ultima resposta 29 de ago. de 2006
Respostas 3
Participantes 2