CORBA を使用した単純な計算 C++/Java アプリがあります。サーバーは C++ で作成され、クライアントは Java で作成されます。ネームサービスとして omniORBs omniNames を使用しています。
ローカルホスト (Ubuntu) で omniNames とサーバーを実行し、ローカルホスト Ubuntu にインストールされた VirtualBox の Windows XP SP3 でクライアントを実行したいと考えています。
(つまり、ローカルホストにUbuntu OSをインストールし、UbuntuにWindows XP SP3を「内部」にインストールしたVirtuaBoxをインストールしました。)
私は最終的にそれを行いhost-only
、次の助けを借りて VirtualBox でオプションを設定しました: https://superuser.com/questions/429405/how-can-i-get-virtualbox-to-run-with-a-hosts-only-adapterトピック. 今、私は別の問題を抱えています。私のクライアントは最終的に私のサーバーを認識し、それに接続してメッセージを送信することさえできますが、サーバーからの回答の受信に問題があります: (今回は私のアプリは単純な計算です):
C:\Temp\java>java client -ORBInitRef NameService=corbaloc::192.168.56.1:2809/NameService Choose:
1.Add
2.Sub
3.Mul
4.Div
> 3
> Pass number:
> 2
> Pass number:
> 4
> pač 12, 2012 3:36:58 PM com.sun.corba.se.impl.transport.SocketOrChannelConnectio nImpl <init> WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR
_TEXT; hostname: 127.0.0.1; port: 41431" org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(U nknown Source)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(U nknown Source)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>( Unknown Source)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>( Unknown Source)
at com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.create Connection(Unknown Source)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.begin Request(Unknown Source)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(Unknow n Source)
at org.omg.CORBA.portable.ObjectImpl._request(Unknown Source)
at _CalcStub.mul(_CalcStub.java:64)
at client.main(client.java:65) Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Unknown Source)
at sun.nio.ch.Net.connect(Unknown Source)
at sun.nio.ch.SocketChannelImpl.connect(Unknown Source)
at java.nio.channels.SocketChannel.open(Unknown Source)
at com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket (Unknown Source)
... 8 more
C:\Temp\java>
192.168.56.1 は、VirtualBox のホストのみの IP アドレスです。助けてください:)私がここに投稿した例では、サーバーからの回答は8である必要があります(2 * 4 = 8;)
OK、皆さん、お手数をおかけして申し訳ありません:) 答えが見つかりました: これらの行を/etc/network/interfaces
ファイルに追加しました:
allow-hotplug eth0
iface eth0 inet dhcp
Cheerz:D