본문 바로가기

자바

RMI

import java.rmi.RemoteException;

import java.rmi.server.UnicastRemoteObject;


public class HelloImpl extends UnicastRemoteObject implements Hello{

public HelloImpl() throws RemoteException{

//생성자 반드시 기술(예외처리 때문에)

}

@Override

public String sayHello(String name) throws RemoteException{

System.out.println(name + "님 서버에 왔군요");

return name +" 님 반가워요.  hbh 씀";

}

}


========================================================================================



import java.rmi.Remote;

import java.rmi.RemoteException;



public interface Hello extends Remote {

String sayHello(String name) throws RemoteException;


}


========================================================================================


import java.rmi.Naming;

public class HelloServer {
public static void main(String[] args) throws Exception {
//원격 객체 생성 후 RMI Registry에 등록
HelloImpl impl = new HelloImpl();
Naming.rebind("rmi://서버주소:1099/아무거나", impl);
}
}

========================================================================================

import java.rmi.Naming;

public class HelloClient {
public static void main(String[] args) {
try {
//가짜 객체 생성
Hello h = (Hello)Naming.lookup("rmi://접속할서버주소:1099/접속할주소(아무거나)");
String ss = h.sayHello("캬캬캬"); //원격 컴의 메소드 호출
System.out.println("호출 결과 : " + ss);
} catch(Exception e){
System.out.println(e);
}
}
}

========================================================================================
========================================================================================

cmd창에서 경로를 위의 자바파일을 생성해준 곳으로 가서

1. rmic HelloImpl

 HelloImpl_Stub.class 생성됨

2. start rmiregistry

3. java HelloServer

서버가 실행됨


클라이언트쪽에서

1. java HelloClient

실행하면 서버에 접속된다.


'자바' 카테고리의 다른 글

Object List를 Custom타입으로 캐스팅  (0) 2014.04.15
Timestamp 변수에 데이터 넣기  (0) 2014.04.15
JAVA RMI  (0) 2014.03.17
모듈별(단위별) 테스트  (0) 2014.02.27
Swing 예제  (0) 2014.02.27