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 |