Caros Amigos,

O Problema já foi resolvido, já vimos que é possível rodar em uma única
máquina, e o código está funcionando normalmente com algumas
modificações.
Obrigado.

"Dias, Rodolfo Duarte (BR-Paulista Seguros)" wrote:
> 
> Olá Javanes,
> 
>         Para rodar sua aplicacao em uma unica maquina vc pode abrir duas
> janelas do dos e executar o cliente em uma e o server na outro, mas vc tera
> que trocar os codigos:
> 
> >           Naming.rebind("rmi://localhost:1099/CalculatorService",c); ->
> > Naming.rebin("CalculatorService",c);
> >
> >
> >            Naming.lookup("rmi://remotehost/CalculatorService"); - >
> > Naming.lookup("CalculatorService");
> >
> >
> Rodolfo D. Dias
> Depto Sistemas
> Companhia Liberty-Paulista
> Tel.:(011) 5503-4060
> e-mail:[EMAIL PROTECTED]
>           [EMAIL PROTECTED]
> 
> > ----------
> > De:   Javanês[SMTP:[EMAIL PROTECTED]]
> > Enviada:      Sexta-feira, 17 de Março de 2000 10:01
> > Para:         SouJava; Sun; GOJUG
> > Assunto:      [SouJava-J] RMI - rmiregistry
> >
> > Caros Amigos,
> >
> > Esta pode ser uma pergunta idiota, mas antes tirar a dúvida a permanecer
> > calado.
> > É possível implementar RMI em apenas em 1 computador?  O Server e o
> > Client no mesmo computador?
> >
> > Comecei a estudar apartir do tutorial da sun, e estou tentando rodar um
> > exemplo e estou tendo problemas, no tutorial relata que somente com
> > essas quatro classes é possível rodar um exemplo..
> > Os códigos que estamos utilizando são esses, em um único computador.
> >
> > Temos as classes:
> > public interface Calculator extends java.rmi.Remote
> > {
> >    public long add(long a, long b) throws java.rmi.RemoteException;
> >    public long sub(long a, long b) throws java.rmi.RemoteException;
> >    public long mul(long a, long b) throws java.rmi.RemoteException;
> >    public long div(long a, long b) throws java.rmi.RemoteException;
> > }
> > -------------------------
> > public class CalculatorImpl extends java.rmi.server.UnicastRemoteObject
> > implements Calculator
> > {
> >   public CalculatorImpl() throws java.rmi.RemoteException {
> >     super();
> >   }
> >   public long add(long a, long b) throws java.rmi.RemoteException {
> >     return a + b;
> >   }
> >   public long sub(long a, long b) throws java.rmi.RemoteException {
> >     return a - b;
> >   }
> >   public long mul(long a, long b) throws java.rmi.RemoteException {
> >     return a * b;
> >   }
> >   public long div(long a, long b) throws java.rmi.RemoteException {
> >     return a / b;
> >   }
> > }
> > ---------------------------
> > import java.rmi.Naming;
> >
> > public class CalculatorServer
> > {
> >    public CalculatorServer() {
> >      try {
> >           Calculator c = new CalculatorImpl();
> >           Naming.rebind("rmi://localhost:1099/CalculatorService",c);
> >      }
> >      catch (Exception e) {
> >           System.out.println("Trouble: " + e);
> >      }
> >    }
> >
> >    public static void main(String args[]) {
> >        new CalculatorServer();
> >    }
> > }
> > ---------------------------------------
> > import java.rmi.Naming;
> > import java.rmi.RemoteException;
> > import java.net.MalformedURLException;
> > import java.rmi.NotBoundException;
> >
> > public class CalculatorClient
> > {
> >    public static void main(String[] args) {
> >      try {
> >            Calculator c = (Calculator)
> >            Naming.lookup("rmi://remotehost/CalculatorService");
> >            System.out.println( c.sub(4, 3) );
> >            System.out.println( c.add(4, 5) );
> >            System.out.println( c.mul(3, 6) );
> >            System.out.println( c.div(9, 3) );
> >      }
> >      catch (MalformedURLException murle) {
> >            System.out.println();
> >            System.out.println("MalformedURLException");
> >            System.out.println(murle);
> >      }
> >      catch (RemoteException re) {
> >            System.out.println();
> >            System.out.println("RemoteException");
> >            System.out.println(re);
> >      }
> >      catch (NotBoundException nbe) {
> >            System.out.println();
> >            System.out.println("NotBoundException");
> >            System.out.println(nbe);
> >      }
> >      catch (java.lang.ArithmeticException ae) {
> >            System.out.println();
> >            System.out.println("java.lang.ArithmeticException");
> >            System.out.println(ae);
> >      }
> >    }
> > }
> >
> > São compilas as classes, criei as camadas Stub e Esqueleto apartir da
> > linha de comando (rmic CalculatorImpl), até aí tudo bem.
> > O problema começa quando tento executar o rmiregistry mas uma excecao é
> > gerada:
> >
> > java.rmi.server.ExportException: Listen failed on port: 1099; nested
> > exception is:
> > java.net.SocketException: Option unsupported by protocol: create
> > java.net.SocketException: Option unsupported by protocol: create
> >         at java.net.PlainSocketImpl.socketCreate(Native Method)
> >         at java.net.PlainSocketImpl.create(PlainSocketImpl.java:70)
> >         at java.net.ServerSocket.<init>(ServerSocket.java:170)
> >         at java.net.ServerSocket.<init>(ServerSocket.java:86)
> >         at
> > sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMI
> > DirectSocketFactory.java:34)
> >         at
> > sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMI
> > MasterSocketFactory.java:316)
> >         at
> > sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:550)
> >         at
> > sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:202)
> >         at
> > sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:174)
> >         at
> > sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:323)
> >         at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:123)
> >         at
> > sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:118)
> >         at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:99)
> >         at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:85)
> >         at sun.rmi.registry.RegistryImpl.main(RegistryImpl.java:315)
> >
> > Alguém sabe me dizer o que está errado?
> > Obrigado.
> >
> >     --------------------------- LISTA SOUJAVA ---------------------------
> >     http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> >     [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
> >     [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> >     ---------------------------------------------------------------------
> >
> 
>     --------------------------- LISTA SOUJAVA ---------------------------
>     http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>     [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
>     [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
>     ---------------------------------------------------------------------

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a