Corba远程访问

时间:2012-12-05 11:05:29

标签: java corba idl

我在一个系统中运行Corba服务器,我想从同一局域网上的另一台机器上访问它。我试着让服务器机器的服务器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,但这不是我指定的服务器名称。
  • 该端口号与我指定的不同形式
  • 服务器尚未收到任何连接,仍在等待。

有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

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

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

其他方法是运行名称服务,负责将名称转换为IOR。像对象的DNS一样。

典型的CORBA程序只针对一个或几个“根”对象进行此舞蹈,其他对象的对象引用作为返回值从调用该根对象返回。

答案 1 :(得分:-1)

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

-ORBInitialPort 1050 -ORBInitialHost serverIP

答案 2 :(得分:-2)

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