RMI ex 01
클라이언트가 숫자를 보내면 서버는 그 숫자를 이용하여 완성된 구구단을 클라이언트에게 전송하는 예
인터페이스(GuguServer.java)
import java.rmi.*;
public interface GuguServer extends Remote {
public String getGugu(int dan) throws RemoteException;
}
GuguServerImpl.java
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
public class GuguServerImpl extends UnicastRemoteObject implements GuguServer {
public GuguServerImpl() throws RemoteException {
super();
}
public String getGugu(int dan) {
String str = "";
for(int i=1;i<=9;i++) {
str += dan + " x " + i + " = " + (dan*i) + "\n";
}
return str;
}
public static void main(String args[]) {
try {
GuguServerImpl obj = new GuguServerImpl();
Naming.rebind("GuguServer", obj);
System.out.println("GuguServer bound in registry");
} catch (Exception e) {
System.out.println("GuguImpl err: " + e.getMessage());
e.printStackTrace();
}
}
}
클라이언트 클래스
import java.rmi.*;
public class GuguClient {
public static void main(String[] args) {
try {
GuguServer obj = (GuguServer)Naming.lookup("rmi://localhost/GuguServer");
String str = obj.getGugu(5);
System.out.println("서버에서 온 메시지");
System.out.println(str);
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}