[ajuda] Problema passando parametros em metodo RMI
Galera, to implementando RMI em java e to com um probleminha aqui, tenho que passar dois vetores e mais o numero de elementos deles como parametro do metodo, mas quando passo ele como parametro da uma exception que não sei o que é:
Seguem as Classes:
[
Desde já obrigado pela ajuda :)
a:724)
<br>Caused by: java.net.MalformedURLException: no protocol: URL_stubs
<br> at java.net.URL.<init>(URL.java:585)
<br> at java.net.URL.<init>(URL.java:482)
<br> at java.net.URL.<init>(URL.java:431)
<br> at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:769)
<br> at sun.rmi.server.LoaderHandler.getDefaultCodebaseURLs(LoaderHandler.java:140)
<br> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:169)
<br> at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
<br> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
<br> at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
<br> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
<br> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
<br> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1661)
<br> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
<br> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
<br> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:307)
<br> ... 10 more
<br>.run(Transport.java:177)
at sun.rmi.transport.TransportRemote call problems! java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br>java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:353)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
<br> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
<br> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
<br> at Calcular_Stub.recebeDados(Unknown Source)
<br> at Cliente.main(Cliente.java:56)
<br>Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br>Caused by: java.net.MalformedURLException: no protocol: URL_stubs
<br> at java.net.URL.<init>(URL.java:585)
<br> at java.net.URL.<init>(URL.java:482)
<br> at java.net.URL.<init>(URL.java:431)
<br> at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:769)
<br> at sun.rmi.server.LoaderHandler.getDefaultCodebaseURLs(LoaderHandler.java:140)
<br> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:169)
<br> at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
<br> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
<br> at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
<br> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
<br> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
<br> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1661)
<br> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
<br> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
<br> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:307)
<br> ... 10 more
<br>.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
at Calcular_Stub.recebeDados(Unknown Source)
at Cliente.main(Cliente.java:56)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.net.MalformedURLException: no protocol: URL_stubs
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)
at sun.rmi.transport.TransportRemote call problems! java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br>java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:353)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
<br> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
<br> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
<br> at Calcular_Stub.recebeDados(Unknown Source)
<br> at Cliente.main(Cliente.java:56)
<br>Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br>Caused by: java.net.MalformedURLException: no protocol: URL_stubs
<br> at java.net.URL.<init>(URL.java:585)
<br> at java.net.URL.<init>(URL.java:482)
<br> at java.net.URL.<init>(URL.java:431)
<br> at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:769)
<br> at sun.rmi.server.LoaderHandler.getDefaultCodebaseURLs(LoaderHandler.java:140)
<br> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:169)
<br> at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
<br> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
<br> at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
<br> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
<br> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
<br> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1661)
<br> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
<br> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
<br> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:307)
<br> ... 10 more
<br>.run(Transport.java:177)
at sun.rmi.transport.TransportRemote call problems! java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br>java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
<br> java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:353)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br> at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
<br> at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
<br> at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
<br> at Calcular_Stub.recebeDados(Unknown Source)
<br> at Cliente.main(Cliente.java:56)
<br>Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
<br> java.net.MalformedURLException: no protocol: URL_stubs
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:310)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:177)
<br> at sun.rmi.transport.Transport$1.run(Transport.java:174)
<br> at java.security.AccessController.doPrivileged(Native Method)
<br> at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
<br> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
<br> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
<br> at java.lang.Thread.run(Thread.java:724)
<br>Caused by: java.net.MalformedURLException: no protocol: URL_stubs
<br> at java.net.URL.<init>(URL.java:585)
<br> at java.net.URL.<init>(URL.java:482)
<br> at java.net.URL.<init>(URL.java:431)
<br> at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:769)
<br> at sun.rmi.server.LoaderHandler.getDefaultCodebaseURLs(LoaderHandler.java:140)
<br> at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:169)
<br> at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
<br> at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
<br> at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
<br> at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
<br> at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
<br> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1661)
<br> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
<br> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
<br> at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
<br> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:307)
<br> ... 10 more
<br>.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.net.MalformedURLException: no protocol: URL_stubs
at java.net.URL.<init>(URL.java:585)
at java.net.URL.<init>(URL.java:482)
at java.net.URL.<init>(URL.java:431)
at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:769)
at sun.rmi.server.LoaderHandler.getDefaultCodebaseURLs(LoaderHandler.java:140)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:169)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:637)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1661)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:325)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:307)
... 10 more
Seguem as Classes:
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface CalculoInterface extends Remote
{
public String recebeDados(int L,double[] vetA,double[] vetB) throws RemoteException;
}
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
public class Calcular extends UnicastRemoteObject implements CalculoInterface
{
public Calcular() throws RemoteException{
//super() is allways called
}
public String recebeDados(int L, double[] vetA, double[] vetB) {
double primSoma=0;
double segundaSoma=0;
double terceiraSoma=0;
double resultado = 0;
for(int i=0; i<L; i++){
primSoma += vetA<i>*vetB<i>;
}
for (int i=0;i<L;i++){
segundaSoma += Math.pow(vetA<i>,2);
terceiraSoma += Math.pow(vetB<i>,2);
}
resultado = primSoma/(Math.sqrt(segundaSoma+terceiraSoma));
return ("O valor da Correlação de Cosini é "+resultado);
}
}
import java.rmi.Naming;
public class Servidor
{
public static void main(String[] args)
{
if (args.length != 1)
{
System.err.println("\nUsage:\t java ServerWalk objname\n");
System.exit(1);
} // if()
try
{
Calcular calcular = new Calcular();// create server object
String objname = "//localhost/"+args[0];// or String objname = args[0];
System.out.println("Registrando " +objname+ "...");
Naming.rebind(objname, calcular);// rmiregistry must be running!
System.out.println("Registrado");
} // try()
catch (Exception e)//should be more specific!
{
System.err.println("Error in main()! " + e);
e.printStackTrace();
System.exit(2);
} // catch()
//for (;<img src="http://javafree.uol.com.br/forum/images/smiles/icon_wink.gif"> {}// server endless(?) cycle
//not necessary as long as there are references to objname in Registry!
System.out.println("Object waiting...");
} // main()
}
import java.net.UnknownHostException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.Scanner;
public class Cliente{
private static Scanner ler;
static double[] vetA;
static double[] vetB;
public static void main(String[] args)
{
CalculoInterface calculo = null;// interface is dealed with like a class!
if (args.length != 2)
{
System.err.println("\nUsage:\t java ClientWalk servhost objname\n");
System.exit(1);
} // if()
try
{
String objname = "//"+args[0]+"/"+args[1];
System.out.println("Procurando pelo Objeto " + objname);
calculo = (CalculoInterface) Naming.lookup(objname);// rmiregistry must be running!
} // try()
catch (Exception e)//should be more specific!
{
System.err.println("Lookup problems! " + e);
e.printStackTrace();
System.exit(2);
} // catch()
try
{
String resp = null;
ler = new Scanner(System.in);
int L;
System.out.printf("Digite o numero de Dados ");
L = ler.nextInt();
vetA = new double[L];
//System.out.printf(" "+vetA.length);
vetB = new double[L];
//System.out.printf(" "+vetB.length);
for (int i = 0; i <L; i++){
System.out.printf("Digite o valor %d de A ",(i+1));
vetA<i> = ler.nextDouble();
}
for (int i = 0; i < L; i++){
System.out.printf("Digite o valor %d de B ",i+1);
vetB<i> = ler.nextDouble();
}
for (int i = 0; i < L; i++){
System.out.printf("TERMO %d de A %f\n",i+1,vetA<i>);
}
for (int i = 0; i < L; i++){
System.out.printf("TERMO %d de B %f\n",i+1,vetB<i>);
}
resp = calculo.recebeDados(L,vetA,vetB);
System.out.println(" "+resp);
} // try()
catch (RemoteException re)
{
System.err.println("Remote call problems! " + re);
re.printStackTrace();
System.exit(3);
} // catch()
} // main()
}
[
Desde já obrigado pela ajuda :)
Tiago Ferreira
Curtidas 0
Respostas
Tiago Ferreira
22/09/2013
Galera, to implementando RMI em java e to com um probleminha aqui, tenho que passar dois vetores e mais o numero de elementos deles como parametro do metodo, mas quando passo ele como parametro da uma exception que não sei o que é.
Desde já obrigado pela ajuda :)
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
public class Calcular extends UnicastRemoteObject implements CalculoInterface
{
public Calcular() throws RemoteException{
//super() is allways called
}
public String recebeDados(int L, double[] vetA, double[] vetB) {
double primSoma=0;
double segundaSoma=0;
double terceiraSoma=0;
double resultado = 0;
for(int i=0; i<L; i++){
primSoma += vetA<i>*vetB<i>;
}
for (int i=0;i<L;i++){
segundaSoma += Math.pow(vetA<i>,2);
terceiraSoma += Math.pow(vetB<i>,2);
}
resultado = primSoma/(Math.sqrt(segundaSoma+terceiraSoma));
return ("O valor da Correlação de Cosini é "+resultado);
}
}
import java.rmi.Naming;
public class Servidor
{
public static void main(String[] args)
{
if (args.length != 1)
{
System.err.println("\nUsage:\t java ServerWalk objname\n");
System.exit(1);
} // if()
try
{
Calcular calcular = new Calcular();// create server object
String objname = "//localhost/"+args[0];// or String objname = args[0];
System.out.println("Registrando " +objname+ "...");
Naming.rebind(objname, calcular);// rmiregistry must be running!
System.out.println("Registrado");
} // try()
catch (Exception e)//should be more specific!
{
System.err.println("Error in main()! " + e);
e.printStackTrace();
System.exit(2);
} // catch()
//for (;<img src="http://javafree.uol.com.br/forum/images/smiles/icon_wink.gif"> {}// server endless(?) cycle
//not necessary as long as there are references to objname in Registry!
System.out.println("Object waiting...");
} // main()
}
import java.net.UnknownHostException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.Scanner;
public class Cliente{
private static Scanner ler;
static double[] vetA;
static double[] vetB;
public static void main(String[] args)
{
CalculoInterface calculo = null;// interface is dealed with like a class!
if (args.length != 2)
{
System.err.println("\nUsage:\t java ClientWalk servhost objname\n");
System.exit(1);
} // if()
try
{
String objname = "//"+args[0]+"/"+args[1];
System.out.println("Procurando pelo Objeto " + objname);
calculo = (CalculoInterface) Naming.lookup(objname);// rmiregistry must be running!
} // try()
catch (Exception e)//should be more specific!
{
System.err.println("Lookup problems! " + e);
e.printStackTrace();
System.exit(2);
} // catch()
try
{
String resp = null;
ler = new Scanner(System.in);
int L;
System.out.printf("Digite o numero de Dados ");
L = ler.nextInt();
vetA = new double[L];
//System.out.printf(" "+vetA.length);
vetB = new double[L];
//System.out.printf(" "+vetB.length);
for (int i = 0; i <L; i++){
System.out.printf("Digite o valor %d de A ",(i+1));
vetA<i> = ler.nextDouble();
}
for (int i = 0; i < L; i++){
System.out.printf("Digite o valor %d de B ",i+1);
vetB<i> = ler.nextDouble();
}
for (int i = 0; i < L; i++){
System.out.printf("TERMO %d de A %f\n",i+1,vetA<i>);
}
for (int i = 0; i < L; i++){
System.out.printf("TERMO %d de B %f\n",i+1,vetB<i>);
}
resp = calculo.recebeDados(L,vetA,vetB);
System.out.println(" "+resp);
} // try()
catch (RemoteException re)
{
System.err.println("Remote call problems! " + re);
re.printStackTrace();
System.exit(3);
} // catch()
} // main()
}
Desde já obrigado pela ajuda :)
GOSTEI 0