我在一个系统中运行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
有人可以帮帮我吗?
答案 0 :(得分:1)
CORBA程序不直接处理服务器的IP地址。当您想要访问某个对象时,您需要它的IOR - 或可互换的对象引用。 IOR包含需要与对象联系的机器的地址,一些对象ID以及一些更多的管理员。
有两种最常见的方法可以获得某些对象的IOR。低级方法是服务器转换为字符串,并将该字符串写入某个文件。客户端读取该字符串并将其转换为对象引用。
其他方法是运行名称服务,负责将名称转换为IOR。像对象的DNS一样。
典型的CORBA程序只针对一个或几个“根”对象进行此舞蹈,其他对象的对象引用作为返回值从调用该根对象返回。
答案 1 :(得分:-1)
对于每个服务器和客户端,您需要在代码的参数端
-ORBInitialPort 1050 -ORBInitialHost serverIP
答案 2 :(得分:-2)
谢谢你。我已经更改了/ etc / hosts conf文件。更改了localhost ip,以及我如何访问远程服务器。