Java SE/RMI ex 01

RMI ex 01

Soul-Learner 2008. 4. 21. 16:22

클라이언트가 숫자를 보내면 서버는 그 숫자를 이용하여 완성된 구구단을 클라이언트에게 전송하는 예

인터페이스(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();

        }
    }
}