Java ConnectionError[客户端(在VirtualBox上)和服务器(在本地主机上)]-我在VM上使用仅主机设置

Java ConnectionError[客户端(在VirtualBox上)和服务器(在本地主机上)]-我在VM上使用仅主机设置,java,c++,virtualbox,ubuntu-12.04,corba,Java,C++,Virtualbox,Ubuntu 12.04,Corba,我有一个简单的带有CORBA的calc++/Java应用程序。服务器用C++编写,客户端用java编写。我使用omniORBs omniNames作为名称服务 我想在本地主机(Ubuntu)上运行omniNames和服务器,并在本地主机Ubuntu上安装的VirtualBox中的Windows XP SP3上运行客户端 (我的意思是:在我的本地主机上,我安装了Ubuntu操作系统,在Ubuntu中,我安装了带有WindowsXPSP3“内部”的VirtualBox。) 最后,在以下主题的帮助下,

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

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

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

最后,在以下主题的帮助下,我在VirtualBox中设置了
host only
option。现在我还有其他问题。我的客户终于看到了我的服务器,甚至可以连接到它并向他发送消息,但它在接收服务器的答复时遇到问题:(这次我的应用程序是一个简单的计算器):


Cheerz:D

您是否检查过可以从主机操作系统ping您的虚拟机?如果您不能,那么我建议您使用,这将允许您的VM在LAN中充当物理机器65@tuergeist:给你:
double res=calc.mul(num1,num2);System.out.println(“结果:+res”)第64行和第65行(System.out…是第65行):@yak和calc是远程对象,mul是对它的第一个调用?顺便问一下,更多的代码会有帮助:您的仆人代码是否在您的命名服务中正确注册?您的sevant ORB似乎使用本地主机环回ip而不是其公共ip。将服务器的-ORBtraceLevel 40用作命令行参数,以查看检测到并使用了哪个ip。您是否已检查是否可以从主机操作系统ping VM?如果您不能,那么我建议您使用,这将允许您的VM在LAN中充当物理机器65@tuergeist:给你:
double res=calc.mul(num1,num2);System.out.println(“结果:+res”)第64行和第65行(System.out…是第65行):@yak和calc是远程对象,mul是对它的第一个调用?顺便问一下,更多的代码会有帮助:您的仆人代码是否在您的命名服务中正确注册?您的sevant ORB似乎使用本地主机环回ip而不是其公共ip。将服务器的-ORBtraceLevel 40用作命令行参数,以查看检测并使用了哪个ip。
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>
allow-hotplug eth0 
iface eth0 inet dhcp