2017-09-23 5 views
0

Java로 작성된 CORBA 클라이언트가 포트 11112에서 서버 A의 알림을 수신합니다. 이제 방화벽이 작동하고 서버가 NAT 뒤에 있습니다. 알림은 더 이상 수신되지 않습니다. 나는 서버 A가 내 unnited IP에 메시지를 보내고 그것이 네이티브 IP를 가리켜 야한다고 의심한다 ... Java에서 네이티브 IP를 가리켜 야하는 서버를 지정하는 방법이 있습니까?NAT 뒤의 CORBA 클라이언트

+0

클라이언트가 서버이기도합니다. – EJP

+0

@EJP 먼저 클라이언트는 포트32100에서 IOR 파일로 서버에 연결 한 다음 포트 11112를 통해 메시지를 수신하기 위해 알림 서비스에 가입합니다. – abaraza

+0

먼저 클라이언트 측에서 서버에 연결할 수 있는지 확인하십시오. 그렇다면 클라이언트가 서버 측에서 연결할 수 있는지 확인하십시오. 작성한 NAT 뒤에있는 경우, 포트 전달이 사용 가능한지 확인하거나 클라이언트에서 연결을 다시 사용하십시오. 양방향 IIOP라고합니다. 그러나 어떤 ORB를 사용하고 있는지 알지 못합니다. – tuergeist

답변

0

해결책을 찾았습니다. 클라이언트에서 유효한 수신 주소가 무엇인지 ORB에 알려주는 일부 등록 정보를 설정해야합니다.

Properties props = new Properties(); 
props.put("org.omg.CORBA.ORBInitialPort", "11112"); 
props.put("org.omg.CORBA.ORBInitialHost", "MyNatedHost"); 
ORB orb = ORB.init(args, props);