-1

我有一个在系统中运行的 Corba 服务器,我想从同一 LAN 上的另一台机器访问它。我尝试给服务器机器的服务器 ip 访问(附代码);但是我收到下面提到的错误:

orbd -ORBInitialPort 1050 -ORBInitialHost <serverip>&

java HelloServer -ORBInitialPort 1050 -ORBInitialHost <serverip>&

java HelloClient -ORBInitialPort 1050 -ORBInitialHost <serverip>&

WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.1.1; port: 43944"
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
  • 它说主机名是 127.0.1.1,但这不是我指定的服务器名称。
  • 端口号与我指定的不同形式
  • 服务器尚未收到任何连接,仍在等待。

有人可以帮帮我吗?

4

3 回答 3

1

CORBA 程序不直接处理服务器的 IP 地址。当您想要访问某个对象时,您需要它的 IOR - 或可互换的对象引用。IOR 包含需要就对象联系的机器的地址、一些对象 ID 和一些更多的管理信息。

有两种最常用的方法来获取某个对象的 IOR。低级方法是服务器转换为字符串,并将该字符串写入某个文件。客户端读取该字符串并将其转换为对象引用。

另一种方法是运行名称服务,该服务负责将名称转换为 IOR。对象的 DNS 之类的东西。

典型的 CORBA 程序只会对一个或几个“根”对象进行这种操作,并且其他对象的对象引用作为调用该根对象的返回值返回。

于 2012-12-05T13:26:27.343 回答
-1

在您需要的每个服务器和客户端的代码的参数端

-ORBInitialPort 1050 -ORBInitialHost serverIP
于 2019-11-04T14:03:11.607 回答
-3

谢谢大家。我已经更改了 /etc/hosts conf 文件。更改了 localhost ip,以及我如何访问远程服务器。

于 2012-12-07T07:17:13.057 回答