[英]How to connect client (on VirtualBox) and server (on localhost)? I use CORBA and C++/Java
我有一個簡單的'Hello world'C C++/Java
應用程序和CORBA
。 服務器是用C++
編寫的,客戶端是用Java
編寫的。 我使用omniORBs omniNames
作為名稱服務。
我想在我的localhost
(Ubuntu)上運行我的omniNames
和服務器,並在我的localhost
Ubuntu上安裝的VirtualBox中的Windows XP SP3上運行我的客戶端。
(我的意思是:在我的localhost上我安裝了Ubuntu操作系統,在Ubuntu中我安裝了VirtuaBox和Windows XP SP3'。')
我試過這個:
omniNames -start
./server -ORBInitRef NameService=corbaloc::localhost:2809/NameService
java client -ORBInitRef NameService=corbaloc::xxxx: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上只有客戶端文件 - 僅此而已 - 沒有名稱服務,沒有服務器文件,只是客戶端程序。
我在網站上檢查了我的localhosts ip地址: http : //whatismyipaddress.com/並將其寫下來,例如:xxxx
這不太可能是正確的IP地址。 您是如何為VirtualBox VM配置網絡的? 如果您使用的是默認NAT網絡,則guest虛擬機無法與主機通信,因此您需要配置“僅主機”網絡,然后使用此網絡主機端的IP地址(您應該能夠在告訴客戶端在哪里找到ORB時,在Ubuntu主機上查找使用ifconfig
,查找vboxnet
接口。 您可能還發現需要在主機上添加防火牆規則以允許虛擬接口上的傳入連接。
請注意,您可以為同一個VM配置多個網絡接口,因此如果VM需要訪問Internet以及ORB,那么可以使用兩個接口(一個NAT和另一個主機)進行設置,這是完全可以的。只要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.