Java RMI Exception:Connection refused to host...
Post

Java RMI Exception:Connection refused to host...

  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(포트번호)