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]
---------------------------------------------------------------------