簡體   English   中英

如何連接客戶端(在VirtualBox上)和服務器(在localhost上)?我使用CORBA和C ++ / Java

[英]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'。')

我試過這個:

  1. 我在我的Ubuntu localhost上運行了omniNames: omniNames -start
  2. 我運行我的服務器,也在同一台計算機上,localhost與Ubuntu OS: ./server -ORBInitRef NameService=corbaloc::localhost:2809/NameService
  3. 我在網站上檢查了我的localhosts ip地址: http//whatismyipaddress.com/並將其寫下來,例如:xxxx
  4. 在VirtualBox上打開Windows XP,運行客戶端: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM