2012-06-06 45 views
1

我想在两台机器上运行一个简单的客户端 - 服务器程序运行的Hello World,CORBA,在两台机器上

我读这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 

你可以请让我知道如何在两台使用Corba和java的互联网上运行一个简单的程序,例如“Hello Wrold”?

问候。

+0

有你检查的防火墙?当你运行'java HelloServer -ORBInitialPort 1050'检查'netstat -na'(检查windows语法)如果服务器在1050上监听。然后运行客户端。 –

+0

我检查过它。 sever正在监听端口1050. – Blueferi

回答

0

我如何在两台机器上使用Corba和java在互联网上运行一个简单的程序,例如“Hello Wrold”?

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

  1. 服务器对IP地址的客户端访问指定(即,或者IP地址是公共的,或者有设立任何相关的防火墙适当masquarading规则) ;
  2. 有合适的防火墙和/或端口转发规则,允许客户端访问服务器上的端口1050

我会建议首先让客户端和服务器在同一子网上运行时工作,然后才转移到分布式安装。

+0

您的意思是我在同一台机器上运行服务器和客户端吗?我在一台机器上运行了该程序,它工作正常。 – Blueferi

+0

请帮忙... – Blueferi

0
  1. 运行ORB start orbd -ORBInitialPort 1050
  2. 运行你的类的客户端和服务器:-ORBInitialPort 1050 -ORBInitialHost localhost

或替代: 1.运行服务器: tnameserv -ORBInitialPort 1050

  • 运行客户端: java YourServer -ORBInitialPort 1050 java YourClient -ORBInitialHost 127.0.0.1 -ORBInit ialPort 1050
  • a similar problem

    相关问题