Diferencia entre revisiones de «Java Remote Method Invocation»

Contenido eliminado Contenido añadido
Línea 53:
 
<source lang="java">
public interface MiInterfazRemota extends java.rmi.Remote {
 
{
public void miMetodo1() throws java.rmi.RemoteException;
 
public int miMetodo2() throws java.rmi.RemoteException;
}
</source>
Línea 62 ⟶ 63:
* Implementar la interfaz remota
<source lang="java">
public class MiClaseRemota
extends java.rmi.server.UnicastRemoteObject
implements MiInterfazRemota {
{
public MiClaseRemota() throws java.rmi.RemoteException
{
// Código del constructor
}
public void miMetodo1() throws java.rmi.RemoteException
{
// Aquí ponemos el código que queramos
System.out.println("Estoy en miMetodo1()");
}
 
public int miMetodo2 public MiClaseRemota() throws java.rmi.RemoteException {
// Código del constructor
{
}
return 5; // Aquí ponemos el código que queramos
}
 
public void otroMetodomiMetodo1() throws java.rmi.RemoteException {
// Aquí ponemos el código que queramos
{
System.out.println("Estoy en miMetodo1()");
}
 
public MiClaseRemotaint miMetodo2() throws java.rmi.RemoteException {
return 5; // Aquí ponemos el código que queramos
}
 
public void otroMetodo() {
// Si definimos otro método, éste no podría llamarse
// remotamente al no ser de la interfaz remota
}
}
 
public static void main(String[] args) {
try {
{
MiInterfazRemota mir = new MiClaseRemota();
try
java.rmi.Naming.rebind("//" + java.net.InetAddress.getLocalHost().getHostAddress() +
{
+ ":" + args[0] + "/PruebaRMI", mir);
MiInterfazRemota mir = new MiClaseRemota();
} catch (Exception e) {
java.rmi.Naming.rebind("//" + java.net.InetAddress.getLocalHost().getHostAddress() +
}
":" + args[0] + "/PruebaRMI", mir);
}
catch (Exception e)
{
}
}
}
</source>
Línea 136 ⟶ 129:
La siguiente clase obtiene un objeto de tipo MiInterfazRemota, implementado en nuestro servidor:
<source lang="java">
public class MiClienteRMI {
{
 
private MiClienteRMI(){}; {
{ }
 
public static void main(String[] args) {
try {
{
MiInterfazRemota mir = (MiInterfazRemota) java.rmi.Naming.lookup("//" +
try
+ args[0] + ":" + args[1] + "/PruebaRMI");
{
 
MiInterfazRemota mir = (MiInterfazRemota)java.rmi.Naming.lookup("//" +
// Imprimimos miMetodo1() tantas veces como devuelva miMetodo2()
args[0] + ":" + args[1] + "/PruebaRMI");
for (int i = 1; i <= mir.miMetodo2(); i++) {
mir.miMetodo1();
// Imprimimos miMetodo1() tantas veces como devuelva miMetodo2()
}
for (int i=1;i<=mir.miMetodo2();i++)
} catch mir.miMetodo1(Exception e); {
e.printStackTrace();
}
catch (Exception e) }
{ }
}
e.printStackTrace();
}
}
}
</source>