Bind error on startup new user

2 posts / 0 new
Last post
Offline
Last seen: 2 years 5 months ago
Joined: 01/06/2022
Posts: 1
Bind error on startup new user

I"m a new user of DDS and I need help wi the following errors.

2022-01-06,21:22:09.893:elint-sim.cpp:160:Starting Connexter...

RTIConnext [WARNING] : [0x01011690,0x25C57913,0xECFC708E:0x000001C1{N=AirborneDomainParticipant,D=0}|ENABLE] NDDS_Transport_UDPv4_Socket_bind_with_ip:0X1CF2 in use
RTIConnext [WARNING] : [0x01011690,0x25C57913,0xECFC708E:0x000001C1{N=AirborneDomainParticipant,D=0}|ENABLE] NDDS_Transport_UDPv4_SocketFactory_create_receive_socket:invalid port 7410
RTIConnext [WARNING] : [0x01011690,0x25C57913,0xECFC708E:0x000001C1{N=AirborneDomainParticipant,D=0}|ENABLE] NDDS_Transport_UDP_create_recvresource_rrEA:!create socket

If client is killed then server side outputs this

RTIConnext [WARNING] : [0x01011690,0x25C57913,0xECFC708E:0x000100C7{E=DR,I=21}|RECEIVE FROM 0x010129FE,0x62F2C6F2,0x152A335E:0x000100C2] COMMENDBeReaderService_onSubmessage:!get ber remoteWriter

So it seems like it is communicating but still not transfering data.

Organization:
Howard's picture
Offline
Last seen: 2 hours 49 min ago
Joined: 11/29/2012
Posts: 582

DDS opens several ports per participant to receive data.  Unicast ports cannot be shared between participants and must be unique on the same host (multicast ports can be and will be shared).

There is a standard way to calcuate port numbers based on Domain ID and participant ID.  Domain IDs are assigned by user code.  By default, participant IDs are usually automatically assigned...by scanning for the first open unicast port starting at participant id=0, and then incrementing the id if the port is in use.

https://community.rti.com/kb/what-network-port-numbers-does-rti-connext-use

So, what you're reporting typically should not happen.  Connext DDS is smart enough to skip a port that's in use.   Port 7410 corresponds to domain id = 0 and participant id = 0 and is the port used for unicast discovery.  If port 7410 is in use, Connext DDS should skip id = 0 and move to participant id = 1, which should set 7412 as the next port to test.  And will continue to do so until an open port is found.

So, it's unclear why you're seeing the problem that you're seeing.

Is your code manually setting the Participant ID?  If so, then you cannot have both your client and server set the same participant ID when running on the same host.  That would produce the error that you are seeing.