티스토리 뷰

1. 작업
String url= "rmi://xxx.xxx.xxx.xxx/Echo";
경로로 rmi를 수행.

2. 문제
java RMI시  Connection refused to host:xxx.xxx.xxx.xxx 예외 발생.

3. 원인
ⓐ 서버측에 rmiregistry가 실행되어 있지 않음.
ⓑ rmiregistry에 해당 Remote Object 서비스(Echo)가 등록되어 있지 않음.
ⓒ RMI name service를 제공하는 포트가 방화벽에 막혀있음.
ⓓ Reomte Object 서비스를 제공하는 포트가 방화벽에 막혀있음. 

4. 해결
ⓐ rmiregistry 실행. ex) prompt>rmiregistry &
ⓑ 해당 Remote Object 서비스(Echo) 실행. ex) prompt>java Echo &
ⓒ 디폴트로 RMI name service를 제공하는 포트번호는 1099번이므로 해당 포트를 열어준다. 또는
  rmiregistry 실행 시 RMI name service를 제공하는 포트번호를 지정하고 해당 포트를 열어준다. ex) rmiregistry 포트번호 & 또는
  코드 상에서 RMI name service를 제공하는 포트번호를 지정하고 해당 포트를 열어준다. ex) LocateRegistry.createRegistry(포트번호);
ⓓ 코드상에서 Remobe Object 서비스를 제공하는 포트를 지정하고 해당 포트를 열어준다. ex) UnicastRemoteObject를 상속받는 클래스의 생성자에서 super(포트번호)
 
댓글
Total
168,053
Today
20
Yesterday
40