Hi,
I have two apps and they work like this, A send its ID and synchronize clock to B, B send its id and clock to A after B receive A's clock.A send its synchronize clock every 0.001 second and start from 0. it works well untill the clock 2742.642. when A send synchronize clock 2742.643 B could not receive the clock at all! I start the other app C to receive A's sysnchronize clock, it also can not receive it, i don't know why. there is no return error form the writer of A.
the IDL like this
struct SimClock {
long ID;//@key
double clock;
double data;
};
the qos setting is like this:
DDS_Publisher_get_default_datawriter_qos(publisher, &datawriter_qos);
datawriter_qos.history.depth = 1;
datawriter_qos.reliability.kind = DDS_RELIABLE_RELIABILITY_QOS;
DDS_Subscriber_get_default_datareader_qos(subscriber, &datareader_qos);
datareader_qos.history.depth = 1;
datareader_qos.reliability.kind = DDS_RELIABLE_RELIABILITY_QOS;
I use multicast and the setting like this
DDS_TransportMulticastSettingsSeq_initialize(&datareader_qos.multicast.value);
DDS_TransportMulticastSettingsSeq_ensure_length(&datareader_qos.multicast.value,1,1);
multicast = DDS_TransportMulticastSettingsSeq_get_reference(&datareader_qos.multicast.value, 0);
multicast->receive_address = DDS_String_dup("239.168.12.19");
multicast->receive_port = 23319;
also set to ignore the sample from local participant:
DDS_Entity* participantEntity = DDS_DomainParticipant_as_entity(domainParticipant);
DDS_InstanceHandle_t IHandle = DDS_Entity_get_instance_handle(participantEntity);
DDS_DomainParticipant_ignore_participant(domainParticipant, &IHandle);
and increasing the receiver_pool:
participant_qos.receiver_pool.buffer_size = 65536;
i test several times and get the same result. this is a really problem to me, thanks for any help or advices.
any ideas?
Hi,
To debug your issue, you can first check the status of DataWriters and Readers (specifically sample lost/rejected status) to understand what is causing the sample is not received.
https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/Statuses_for_DataWriters.htm
https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/Statuses_for_DataReaders.htm
I hope you could find some clues via status information.
Thanks,
Kyoungho
thanks for you answer, i find the problem, it's nothing about DDS, thanks again.