「java開発」RMI (Remote Method Invocation)を使うメモ
1.インタフェースを定義する
package com.arkgame.server;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface CftServer extends Remote{
int add(int a,int b)throws RemoteException;
}
2.インタフェースを実現する
package com.arkgame.impl;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import com.arkgame.server.CftServer;
public class ServerImpl extends UnicastRemoteObject implements CftServer {
public ServerImpl() throws RemoteException {
}
public int add(int a, int b) {
return a+b;
}
}
3.リモートオブジェクトをレジストリサーバに登録する
package com.arkgame.host;
import com.arkgame.impl.ServerImpl;
import com.arkgame.server.CftServer;
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
public class Host {
public static void main(String[] args)throws Exception
{
LocateRegistry.createRegistry(1009);
CftServer cftServer = new ServerImpl();
Naming.rebind(“//172.17.2.100:1009/cftServer" , cftServer);
}
}
4.クライアントからリモートオブジェクトを参照する
package com.arkgame.client;
import java.rmi.Naming;
import com.arkgame.server.CftServer;
public class Client {
public static void main(String [] args)throws Exception
{
CftServer cftServer = (CftServer)Naming.lookup(“//172.17.2.100:1009/cftServer");
System.out.println(cftServer.add(7, 8));
}
}