RMIとはRemoteMethodInvocationの略でJavaを使って他のコンピュータと通信を行うAPIです。
以下のHelloWorldを使えば通信ができるでしょう
- HelloWorld.java
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* リモートインターフェイス
*/
interface HelloWorld extends Remote{
String sayHelloWorld() throws RemoteException;
}
- HelloWorldObj.java
import java.rmi.server.UnicastRemoteObject;
/**
* リモートオブジェクト
*/
public class HelloWorldObj extends UnicastRemoteObject implements HelloWorld{
private static final long serialVersionUID = 1L;
public HelloWorldObj() throws RemoteException{
super();
}
public String sayHelloWorld(){
return "Hello World";
}
}
- HelloWorldServer.java
import java.rmi.registry.Registry;
/**
* サーバ
*/
public class HelloWorldServer {
public static void main(String args[]){
try {
Registry reg = LocateRegistry.createRegistry(1099);
HelloWorld obj = new HelloWorldObj();
reg.rebind("Hello", obj);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- HelloWorldClient.java
import java.rmi.Naming;
/**
* クライアント
*/
public class HelloWorldClient {
public static void main(String args[]){
HelloWorld obj = null;
try{
obj = (HelloWorld)Naming.lookup("rmi://localhost:1099/Hello");
System.out.println(obj.sayHelloWorld());
}catch(Exception e){
e.printStackTrace();
}
}
}
これを動かすのもよいけどちゃんとやりたい人はGetting Started Using JavaTM RMIを見たほうがいいかもしれません。