gpt4 book ai didi

java - 具有多个网络接口(interface)的 CORBA 客户端 - 绑定(bind)到特定的网络接口(interface)

转载 作者:行者123 更新时间:2023-11-30 08:35:10 29 4
gpt4 key购买 nike

我已经开发了 java (jdk5) corba 客户端来接收来自服务器的 NotificationIRP 主动事件。我的以下代码适用于单个网卡。如果客户端系统有多个网络接口(interface),回调总是选择错误的网卡,无法连接到客户端。我尝试在 orb 中指定 -ORBEndpoint 参数。但仍然没有成功。

String[] args = new String[2];

args[0]="-ORBEndpoint";
args[1]="iiop://10.106.90.50:9090"; // client eth0
ORB orb = ORB.init(args, null);

最佳答案

首先,您不应该指定任何端口号(例如,如果该端口已经被另一个进程绑定(bind)),而只能指定 IP 地址。端口号应由 ORB 从可用端口中随机选择。

然后你可以配置这个Java属性:

-Dcom.sun.CORBA.ORBServerHost=<IP address>

或者如果您真的想对其进行硬编码:

Properties p = new Properties();
p.put("com.sun.CORBA.ORBServerHost", "10.106.90.50");
ORB orb = ORB.init(args, p);

ORBEndpoint 是 omniORB 的配置,不适用于 Sun/Oracle Java ORB。

关于java - 具有多个网络接口(interface)的 CORBA 客户端 - 绑定(bind)到特定的网络接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38416992/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com