Rcently、私はOpenDDSによって同じサブネット内の2つのホストを通信することに成功しました。 はしかし、私は、パブリックネットワークやWANを介して他の二つのホストを伝えたいです。それは動作しません。 この問題を解決するにはどうすればよいですか?私は2つのホストを持っているOpenDDS:公衆ネットワーク(WAN)を介して2つのホストを通信する方法
:
は、ここに私のコミュニケーション的環境です。 ホストAは、AWS(アマゾンウェブサービス)で、ホストBは私のDestktopです。また、2つのホストがパブリックIPアドレスを持ち、ファイアウォールを無効にします。 telnetコマンドで特定のポート番号が利用可能かどうかを確認しました。このように:
$ telnet <HostA IP's> 12345
そしてそれは良いconnetionです。
OpenDDS-3.11と$OpenDDS_HOME/tests/DCPS/Messenger
の例を使用しました。ホストAで
、
$ DCPSInfoRepo -ORBListenEndpoints iiop://:12345
を有効にする加入者は、このように動作:ホストBで
$ ./subscriber -DCPSConfigFile sub_multicast.ini
、
ディレクトリは同じsubsceriberあり、その後、出版社は次のように動作します。
$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
投稿者の返信エラーメッセージはこちら
$ ./publisher -DCPSInfoRepo <HostA' IP>:12345 -DCPSConfigFile pub_multicast.ini
Starting publisher
(3074|140050504111936) NOTICE: using DCPSInfoRepo value from command option (overrides value if it's in config file).
Starting publisher with 1 args
(3074|140050504111936) EXCEPTION, ERROR: InfoRepoDiscovery::get_dcps_info: failed to resolve ior -
system exception, ID 'IDL:omg.org/CORBA/TRANSIENT:1.0'
OMG minor code (2), described as 'No usable profile in IOR.', completed = NO
(3074|140050504111936) ERROR: DomainParticipantFactoryImpl::create_participant, add_domain_participant returned invalid id.
publisher.cpp:66: main() ERROR: create_participant failed!
ERROR: InfoRepoDiscovery::~InfoRepoDiscovery - Exception caught during ORB shutdown: system exception, ID 'IDL:omg.org/CORBA/BAD_INV_ORDER:1.0'
OMG minor code (4), described as 'ORB has shutdown.', completed = NO
何が間違っていましたか?