RMI遠程方法調用
面向接口的編程。
服務器端(定義接口,實現類)。
用戶端(接口)。
RMI調用。
對象序列化。
RMI的實現步驟:
1.定義接口
public interface RMIDemo extends Remote {
???????public String getString() throws RemoteException;
}
2.實現類
public class RMIDemoImp extends UnicastRemoteObject implements RMIDemo {
???????public RMIDemoImp() throws RemoteException {
??
???????}
???????public String getString() throws RemoteException {
???????????return "hello world!";
???????}
}
3.打包(jar),配置到環境變量classpath中。
4.打開RMI服務器(首先進入JDK目錄下的bin,再打開),rmiregistry 。
5.對象注冊到服務器
public class Server {
???????public static void main(String args[]) {
????????try {
????????????RMIDemoImp rmi = new RMIDemoImp();
????????????try {
????????????????Naming.bind("rmi",rmi);
????????????} catch (MalformedURLException e) {
?????????????// TODO Auto-generated catch block
????????????????e.printStackTrace();
????????????} catch (AlreadyBoundException e) {
?????????????// TODO Auto-generated catch block
????????????????e.printStackTrace();
????????????}
????????} catch (RemoteException e) {
?????????// TODO Auto-generated catch block
????????????e.printStackTrace();
????????}
????}
}
6.客戶端的建立
public class Client {
????public static void main(String args[]) {
????????Object obj = java.rmi.Naming.lookup("rmi");
????????RMIDemo rmi = (RMIDemo)obj;
????????System.out.println(rmi.getString());
????}
}