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
public MiClaseRemota() throws java.rmi.RemoteException▼
// Código del constructor▼
}▼
// Aquí ponemos el código que queramos▼
System.out.println("Estoy en miMetodo1()");▼
▲ // Código del constructor
}▼
return 5; // Aquí ponemos el código que queramos▼
▲ // Aquí ponemos el código que queramos
▲ System.out.println("Estoy en miMetodo1()");
▲ 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
}▼
try {▼
MiInterfazRemota mir = new MiClaseRemota();▼
▲ try
▲ 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 {
try {▼
▲ try
▲ 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
e.printStackTrace();▼
▲ }
▲ e.printStackTrace();
▲ }
</source>
|