나는 일정한 프로그램이 충돌과 함께 다음과 같은 경고 메시지가 표시 RTI DDS를 사용하고 유지 프로그램을 실행하고 있습니다 :RTI DDS 경고 충돌 프로그램
No transport available to reach locator shmem://0000:0202:0402:0000:0000:0000:0000:0000:7411
위의 문제의 원인이 될 수 무엇
과는 무엇을 문제의 가능한 해결책? 나는 RTI DDS 5.2.0
을 RHEL 6.8
에 달리고있다. 편집
:
여기도 jgr208은 "사용할 수있는 전송이 로케이터에 도달하지합니다"라는 메시지 @ QoS를 파일
?xml version="1.0"?>
<dds>
<qos_library name="Keep_History_Library">
<qos_profile name="Keep_Deep_History_profile" is_default_qos="true">
<participant_qos>
<discovery>
<initial_peers>
<element>239.255.0.1</element>
<element>[email protected]://127.0.0.1</element>
<element>builtin.shmem://</element>
</initial_peers>
<multicast_receive_addresses>
<element>239.255.0.1</element>
</multicast_receive_addresses>
</discovery>
<property>
<value>
<!--UDP/IP Transport configuration -->
<element>
<name>dds.transport.UDPv4.builtin.parent.message_size_max</name>
<value>65536</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.send_socket_buffer_size</name>
<value>1000000</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name>
<value>2000000</value>
</element>
<!-- Definition of the flow controller See users' manual section
6.6 FlowControllers -->
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.scheduling_policy</name>
<value>DDS_RR_FLOW_CONTROLLER_SCHED_POLICY</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.sec</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.nanosec</name>
<value>10000000</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.max_tokens</name>
<value>100</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_added_per_period</name>
<value>40</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_leaked_per_period</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.bytes_per_token</name>
<value>66000</value>
</element>
</value>
</property>
</participant_qos>
<participant_factory_qos>
<logging>
<verbosity>ALL</verbosity>
<category>ALL</category>
<print_format>TIMESTAMPED</print_format>
<output_file>/root/Desktop/ddslog.txt</output_file>
</logging>
</participant_factory_qos>
<datawriter_qos name="ReliableWriter">
<publish_mode>
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
<flow_controller_name>DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name>
</publish_mode>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>10</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<publication_name>
<name>DataWriter</name>
</publication_name>
</datawriter_qos>
<datareader_qos name="ReliableReader">
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>10</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<subscription_name>
<name>DataReader</name>
</subscription_name>
</datareader_qos>
</qos_profile>
<qos_profile name="Keep_Short_History_profile" base_name="Keep_Deep_History_profile">
<participant_qos>
<discovery>
<initial_peers>
<element>239.255.0.1</element>
<element>[email protected]://127.0.0.1</element>
<element>builtin.shmem://</element>
</initial_peers>
<multicast_receive_addresses>
<element>239.255.0.1</element>
</multicast_receive_addresses>
</discovery>
<property>
<value>
<!--UDP/IP Transport configuration -->
<element>
<name>dds.transport.UDPv4.builtin.parent.message_size_max</name>
<value>65536</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.send_socket_buffer_size</name>
<value>1000000</value>
</element>
<element>
<name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name>
<value>2000000</value>
</element>
<!-- Definition of the flow controller See users' manual section
6.6 FlowControllers -->
<element>
<name>
dds.flow_controller.token_bucket.MyFlowController.scheduling_policy
</name>
<value>DDS_RR_FLOW_CONTROLLER_SCHED_POLICY</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.sec</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.period.nanosec</name>
<value>10000000</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.max_tokens</name>
<value>100</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_added_per_period</name>
<value>40</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.tokens_leaked_per_period</name>
<value>0</value>
</element>
<element>
<name>dds.flow_controller.token_bucket.MyFlowController.token_bucket.bytes_per_token</name>
<value>66000</value>
</element>
</value>
</property>
</participant_qos>
<participant_factory_qos>
<logging>
<verbosity>ALL</verbosity>
<category>ALL</category>
<print_format>TIMESTAMPED</print_format>
<output_file>/root/Desktop/ddslog.txt</output_file>
</logging>
</participant_factory_qos>
<datawriter_qos name="ReliableWriter">
<publish_mode>
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
<flow_controller_name>DEFAULT_FLOW_CONTROLLER_NAME</flow_controller_name>
</publish_mode>
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>1</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<publication_name>
<name>HistoryDataWriter</name>
</publication_name>
</datawriter_qos>
<datareader_qos name="ReliableReader">
<history>
<kind>KEEP_LAST_HISTORY_QOS</kind>
<depth>1</depth>
</history>
<reliability>
<kind>RELIABLE_RELIABILITY_QOS</kind>
</reliability>
<durability>
<kind>TRANSIENT_LOCAL_DURABILITY_QOS</kind>
</durability>
<subscription_name>
<name>HistoryDataReader</name>
</subscription_name>
</datareader_qos>
</qos_profile>
</qos_library>
</dds>
RTI 구성이 공유 메모리 전송을 허용합니까? 사용자가 사용할 수있는 공유 메모리의 양에 대한 제한이 있습니까 (예를 들어'ulimit -l'을 확인하십시오)? – mindriot
@mindriot RTI 구성이 허용하는지 어떻게 확인하나요? 코드 또는 QOS 파일에 있는지 확실하지 않으므로. 'ulimit -l'은 64의 결과를 보였습니다. – jgr208
https://community.rti.com/examples/using-qos-profiles 및 https://community.rti.com/examples/built-qos-profiles를 참조하십시오. . 아무 것도 수정하지 않았다면 기본값으로 shmem 전송을 허용해야합니다. 'ulimit'에 대해서는 표준값 (64KB)입니다. 실행하기 전에'ulimit -l unlimited'를 설정해보십시오 (아마 루트 일 필요가 있습니다). – mindriot