gpt4 book ai didi

java - 如何连接客户端(在 VirtualBox 上)和服务器(在本地主机上)?我使用 CORBA 和 C++/Java

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:26 53 4
gpt4 key购买 nike

我有一个带有 CORBA 的简单“Hello world”C++/Java 应用程序。服务器用 C++ 编写,客户端用 Java 编写。我使用 omniORBs omniNames 作为名称服务。

我想在我的 localhost 上运行我的 omniNames 和服务器(Ubuntu)并在安装在本地主机 Ubuntu 上的 VirtualBox 中的 Windows XP SP3 上运行我的客户端。

(我的意思是:在我的本地主机上,我安装了 Ubuntu 操作系统,在 Ubuntu 中,我安装了带有 Windows XP SP3“内部”的 VirtuaBox。)

我试过这个:

  1. 我在我的 Ubuntu 本地主机上运行了 omniNames,:omniNames -start
  2. 我在同一台计算机上运行我的服务器,localhost 和 Ubuntu 操作系统:./server -ORBInitRef
    NameService=corbaloc::localhost:2809/NameService
  3. 我在网站上检查了我的本地主机 IP 地址:http://whatismyipaddress.com/和写下来,例如:x.x.x.x
  4. 在 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 上只有客户端文件 - 仅此而已 - 没有名称服务,没有服务器文件,只有客户端程序。

最佳答案

I checked my localhosts ip address on site: http://whatismyipaddress.com/ and wrote it down, which was, for example: x.x.x.x

这不太可能是正确的 IP 地址。您如何为 VirtualBox VM 配置网络?如果您使用的是默认 NAT 网络,则 guest 无法与主机通信,因此您需要配置一个“仅主机”网络,然后使用该网络主机端的 IP 地址(您应该能够在 Ubuntu 主机上使用 ifconfig 找到,寻找 vboxnet 接口(interface))告诉客户端在哪里可以找到 ORB。您可能还会发现需要在主机上添加防火墙规则以允许虚拟接口(interface)上的传入连接。

请注意,您可以为同一个 VM 配置多个网络接口(interface),因此如果 VM 需要访问 Internet 以及 ORB,那么可以为它设置两个接口(interface),一个 NAT 和一个其他仅限主机。

关于java - 如何连接客户端(在 VirtualBox 上)和服务器(在本地主机上)?我使用 CORBA 和 C++/Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821203/

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