Corba,在两台机器上运行Hello World

时间:2012-06-06 18:13:11

标签: java corba idl

我试图在两台机器上运行一个简单的客户端 - 服务器程序,

我读了这个page,但我得到了这个错误:

Jun 04, 2012 6:43:10 PM com.sun.corba.se.impl.transport.SocketOrChannelConnectio
nImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR
_TEXT; hostname: xx.xx.xx.xx; port: 1050"
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown Source)
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown 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.createConnection(Unknown Source)
        at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(Unknown Source)
        at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(Unknown Source)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(Unknown Source)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.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.resolver.CompositeResolverImpl.resolve(Unknown Source)
        at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown Source)
        at HelloClient.main(HelloClient.java:17)
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)
        ... 12 more

ERROR : org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No

org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown Source)
        at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(Unknown 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.createConnection(Unknown Source)
        at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(Unknown Source)
        at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(Unknown Source)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(Unknown Source)
        at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.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.resolver.CompositeResolverImpl.resolve(Unknown Source)
        at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown Source)
        at HelloClient.main(HelloClient.java:17)
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)
        ... 12 more

能告诉我如何运行像#34;这样的简单程序。你好Wrold&#34;在两台使用Corba和java的机器上?

问候。

2 个答案:

答案 0 :(得分:0)

  

如何使用Corba和java在两台机器上运行像“Hello Wrold”这样的简单程序?

我认为通过互联网是关键。你需要确保:

  1. 客户端可以在您指定的 IP地址上访问服务器(即IP地址是公共的,或者在任何相关防火墙上设置了适当的masquarading规则);
  2. 有适当的防火墙和/或端口转发规则,允许客户端访问服务器上的端口1050
  3. 我建议首先让客户端和服务器在同一个子网上运行时工作,然后继续进行分布式设置。

答案 1 :(得分:0)

  1. 运行orb start orbd -ORBInitialPort 1050
  2. 使用以下代码运行您的类客户端和服务器:-ORBInitialPort 1050 -ORBInitialHost localhost
  3. 或替代方案: 1.运行服务器: tnameserv -ORBInitialPort 1050

    1. 运行客户端: java YourServer -ORBInitialPort 1050 java YourClient -ORBInitialHost 127.0.0.1 -ORBInitialPort 1050
    2. a similar problem