RMIの基本使用

1625 ワード

使用手順
1.serverパッケージを作成する:RMIを保存するためのサービスクラス
2.interfacesパッケージを作成する:すべての抽象インターフェースを保存するために使用する
3.implsパッケージを作成する:サーバ端の抽象インターフェースを保存するための具体的な実現クラス
4.clientパッケージを作成する:クライアント関連クラスを保存する
注意事項:
1.RMIの抽象インターフェースとしてはthrows RemoteExceptionが必要です。
2.RMI抽象インターフェースの実現類は、共通の構造方法、実現類が必要であり、extens Unicant RemoteObjectであり、構造方法はthrows RemoteExceptionでなければならない。

public class RemoteServerImp extends UnicastRemoteObject implements
		OperatorRmiInterface {

	public RemoteServerImp() throws RemoteException {
		super();
		// TODO Auto-generated constructor stub
	}
//.......................

//   

try {
	LocateRegistry.createRegistry(8888); //          
	RemoteServerImp simp = new RemoteServerImp();//        
	Naming.rebind("//localhost:8888/SIMPLE-SERVER", simp);//     URL       
	System.out.println("RMI Server Started");
} catch (MalformedURLException e) {
	e.printStackTrace();
}
 catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//   
String url = "//localhost:8888/SIMPLE-SERVER";
try {
	OperatorRmiInterface in = (OperatorRmiInterface)Naming.lookup(url);//          URL
	System.out.println("call remote program 1+2="+in.sum(1, 2));//          
} catch (MalformedURLException e) {
	e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
} catch (NotBoundException e) {
	e.printStackTrace();
}