のシンプルな「Helloworld」C++/Java
アプリがありCORBA
ます。サーバーはでC++
、クライアントはで書き込まれますJava
。omniNames
ネームサービスとしてomniORBを使用しています。
私の(Ubuntu)omniNames
でサーバーをlocalhost
実行し、ローカルホストのUbuntuにインストールされているVirtualBoxのWindowsXPSP3でクライアントを実行したいと思います。
(つまり、ローカルホストにUbuntu OSをインストールし、UbuntuにWindows XP SP3を「内部」にインストールしたVirtuaBoxをインストールしました。)
私はこれを試しました:
- UbuntuローカルホストでomniNamesを実行しました:
omniNames -start
- 同じコンピューターで、UbuntuOSを使用してローカルホストでサーバーを実行しました。
./server -ORBInitRef NameService=corbaloc::localhost:2809/NameService
- サイトでローカルホストのIPアドレスを確認しました:http ://whatismyipaddress.com/そしてそれを書き留めました。例:xxxx
- VirtualBoxでWindowsXPをオンにし、クライアントを実行しました。
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>
クライアントとサーバーをそのように接続することは可能ですか?これはどのようにすればよいですか?WindowsXPにはクライアントファイルしかありません。それ以上はありません。ネームサービスもサーバーファイルもありません。クライアントプログラムだけです。