【发布时间】:2012-10-01 00:49:03
【问题描述】:
我有一个简单的“Hello world”C++/Java 应用程序和CORBA。服务器写在C++,客户端写在Java。我使用omniORBs omniNames,作为名称服务。
我想在我的localhost 上运行我的omniNames 和服务器
(Ubuntu) 并在我的本地主机 Ubuntu 上安装的 VirtualBox 中的 Windows XP SP3 上运行我的客户端。
(我的意思是:在我的本地主机上,我安装了 Ubuntu 操作系统,在 Ubuntu 中,我安装了带有 Windows XP SP3 'inside' 的 VirtuaBox。)
我试过这个:
- 我在我的 Ubuntu 本地主机上运行了 omniNames,:
omniNames -start - 我在同一台计算机上运行我的服务器,本地主机与 Ubuntu 操作系统:
./server -ORBInitRef NameService=corbaloc::localhost:2809/NameService - 我在现场检查了我的本地主机 IP 地址:http://whatismyipaddress.com/ 和 写下来,例如:x.x.x.x
- 在 VirtualBox 上打开 Windows XP,运行客户端:
java client -ORBInitRef NameService=corbaloc::x.x.x.x:2809/NameService
但出现错误:
C:\Temp\java>java client -ORBInitRef NameService=corbaloc:212.106.19.209:2809/Na
meService
pač 10, 2012 3:51:17 PM com.sun.corba.se.impl.naming.namingutil.CorbalocURL badA
ddress
WARNING: "IOP00110603: (BAD_PARAM) Bad host address in -ORBInitDef"
org.omg.CORBA.BAD_PARAM: vmcid: SUN minor code: 603 completed: No
at com.sun.corba.se.impl.logging.NamingSystemException.insBadAddress(Unk
nown Source)
at com.sun.corba.se.impl.logging.NamingSystemException.insBadAddress(Unk
nown Source)
at com.sun.corba.se.impl.naming.namingutil.CorbalocURL.badAddress(Unknow
n Source)
at com.sun.corba.se.impl.naming.namingutil.CorbalocURL.<init>(Unknown So
urce)
at com.sun.corba.se.impl.naming.namingutil.INSURLHandler.parseURL(Unknow
n Source)
at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown So
urce)
at com.sun.corba.se.impl.resolver.ORBInitRefResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown
Source)
at client.main(client.java:28)
C:\Temp\java>
可以这样连接客户端和服务器吗?我该怎么做?我在 Windows XP 上只有客户端文件 - 仅此而已 - 没有名称服务,没有服务器文件,只有客户端程序。
【问题讨论】:
-
您可以使用命令行选项 -ORBtraceLevel 40 查看使用了哪些 IP。
-
@tuergeist :我用过,谢谢,我还检查了
ifconfig。如果您能提供更多帮助,请参阅对 Ian Roberts 回答的评论 :)
标签: java c++ connection virtualbox corba