NAT 背后的 CORBA 客户端

CORBA client behind NAT

我有一个用 Java 编写的 CORBA 客户端,它在端口 11112 中接收来自服务器 A 的通知。现在,我的服务器在防火墙后面,我的 IP 地址在 NAT 后面。不再收到通知。我怀疑服务器 A 将消息发送到我未命名的 IP,它应该指向已命名的 IP...有什么方法可以在 Java 中指定应该指向已命名 IP 的服务器?

我找到了解决办法。您需要在客户端中设置一些 属性,告诉 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);