Corba, запускающая Hello World на двух машинах

Я пытаюсь запустить простую клиент-серверную программу на двух машинах,

Я прочитал эту страницу, но я получил эти ошибки:

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

Не могли бы вы сообщить мне, как я могу запустить простую программу, такую ​​​​как Hello Wrold, на двух машинах через Интернет, используя Corba и java?

С Уважением.


person Blueferi    schedule 06.06.2012    source источник
comment
Вы проверяли брандмауэр? Когда вы запускаете java HelloServer -ORBInitialPort 1050, проверьте netstat -na (проверьте синтаксис в Windows), прослушивает ли сервер 1050. Затем запустите клиент.   -  person Andrzej Jozwik    schedule 07.06.2012
comment
я проверил это. сервер прослушивает порт 1050.   -  person Blueferi    schedule 12.06.2012


Ответы (2)


как я могу запустить простую программу, такую ​​​​как «Hello Wrold», на двух машинах через Интернет, используя Corba и java?

Я думаю, что ключевое значение здесь имеет через Интернет. Вам необходимо убедиться, что:

  1. сервер доступен клиенту по указанному вами IP-адресу (т. е. либо IP-адрес является общедоступным, либо на соответствующих брандмауэрах установлены соответствующие правила маскировки);
  2. существуют соответствующие правила брандмауэра и/или переадресации портов, позволяющие клиенту получить доступ к порту 1050 на сервере.

Я бы рекомендовал сначала заставить работать клиент и сервер при запуске в одной подсети, и только потом переходить к распределенной настройке.

person NPE    schedule 07.06.2012
comment
Вы имели в виду, что я запускаю сервер и клиент на одной машине? Я запускал эту программу на одной машине. Она работала нормально. - person Blueferi; 12.06.2012

  1. Запустить сферу start orbd -ORBInitialPort 1050
  2. Запустите клиент и сервер вашего класса с помощью: -ORBInitialPort 1050 -ORBInitialHost localhost

или альтернатива: 1. Запустите сервер: tnameserv -ORBInitialPort 1050

  1. Запустите клиент: java YourServer -ORBInitialPort 1050 java YourClient -ORBInitialHost 127.0.0.1 -ORBInitialPort 1050

похожая проблема

person websky    schedule 01.06.2016