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]
---------------------------------------------------------------------
RE: [SouJava-J] RMI - rmiregistry
Dias, Rodolfo Duarte (BR-Paulista Seguros) Fri, 17 Mar 2000 05:21:55 -0800
- [SouJava-J] RMI - rmiregistry Javan�s
- Re: [SouJava-J] RMI - rmir... Dias, Rodolfo Duarte (BR-Paulista Seguros)
- Re: [SouJava-J] RMI - ... Javan�s
