2つのプログラムがあります.1つはOpenSplice 6.7.1ともう1つはOpenDDS 3.10です。OpenDDSとOpenSpliceの相互運用性
彼らは両方のプロトコルとしてRTPS、同じドメインIDと宛先ポートを(私のwiresharkを使用して検証)を使用しています。
問題は、通信していないということです。私は設定に何かをやっている場合、私は知らない
...私はRTPSとOpenDDSのための基本的な設定を使用していますし、OpenSpliceのために私は、ドメインIDを変更した後に提供さospl.xmlを使用しました。
ここに私の設定ファイルがあります。 OpenDDSの場合 :OpenSpliceについては
[common]
DCPSGlobalTransportConfig=$file
DCPSDefaultDiscovery=DEFAULT_RTPS
[transport/the_rtps_transport]
transport_type=rtps_udp
:私が間違っているのは何
<OpenSplice>
<Domain>
<Name>ospl_sp_ddsi</Name>
<Id>223</Id>
<SingleProcess>true</SingleProcess>
<Description>Stand-alone 'single-process' deployment and standard DDSI networking.</Description>
<Service name="ddsi2">
<Command>ddsi2</Command>
</Service>
<Service name="durability">
<Command>durability</Command>
</Service>
<Service name="cmsoap">
<Command>cmsoap</Command>
</Service>
</Domain>
<DDSI2Service name="ddsi2">
<General>
<NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress>
<AllowMulticast>true</AllowMulticast>
<EnableMulticastLoopback>true</EnableMulticastLoopback>
<CoexistWithNativeNetworking>false</CoexistWithNativeNetworking>
</General>
<Compatibility>
<!-- see the release notes and/or the OpenSplice configurator on DDSI interoperability -->
<StandardsConformance>lax</StandardsConformance>
<!-- the following one is necessary only for TwinOaks CoreDX DDS compatibility -->
<!-- <ExplicitlyPublishQosSetToDefault>true</ExplicitlyPublishQosSetToDefault> -->
</Compatibility>
</DDSI2Service>
<DurabilityService name="durability">
<Network>
<Alignment>
<TimeAlignment>false</TimeAlignment>
<RequestCombinePeriod>
<Initial>2.5</Initial>
<Operational>0.1</Operational>
</RequestCombinePeriod>
</Alignment>
<WaitForAttachment maxWaitCount="100">
<ServiceName>ddsi2</ServiceName>
</WaitForAttachment>
</Network>
<NameSpaces>
<NameSpace name="defaultNamespace">
<Partition>*</Partition>
</NameSpace>
<Policy alignee="Initial" aligner="true" durability="Durable" nameSpace="defaultNamespace"/>
</NameSpaces>
</DurabilityService>
<TunerService name="cmsoap">
<Server>
<PortNr>Auto</PortNr>
</Server>
</TunerService>
</OpenSplice>
?
私は上の私のポストを更新この問題に関するフォーラム 私は自分のIDLを変更し、モジュールレスではあるが相互運用性はまだない。私はOpenDDSが提供するiShapesのIDLを変更し、モジュールレスにして、ソースファイルに必要な変更を加えたが、iShapesの相互運用性はまだない。 10.0.2.15 NetworkInterfaceAddress> –
wiresharkを使ってパケットをトレースしました。面白いことに気づきました.OpenSpliceは正しいインターフェイスを使って通信しています。定期的に3パケットを送信しています同じ長さですが、私のデータを公開すると、出版社は受け取っていますが、私はwiresharkに何も見ません!送信されるデータのトレースはありません! openSpliceでopenSpliceを使用すると、参加者が接続されているときにopenDDSがHEARTBEATパケットの送信を開始します。これは、別の参加者が検出されたときの通常の動作です。ただし、送信されたデータと切断は検出されません。 –