Multicast for data transfer, for applications on the same node
Multicast over UDPv4 can be used for data transfer between applications that are running on the same machine, even if shared memory is enabled. RTI's Connext DDS provides various transports, which can be configured using the USER_QOS_PROFILES.xml file. The most commonly used transports are shared memory, UDPv4 and TCP. By default, shared memory and UDPv4 are enabled and if the applications are running on the same machine, shared memory is used for discovery as well as for data exchange. If you wish to use multicast for data transfer, for applications on the same machine, configure the multicast receive address as a part of the data reader's QoS. With these settings, the data writers will use multicast to send data to all the data readers created using the configured QoS. (In other words, only if you explicitly enable multicast will the data writers and readers communicate using multicast, even on the same machine.)
You can modify the data reader’s QoS policy to configure multicast for data transfer as follows:
<datareader_qos> ... <multicast> <value> <element> <receive_address>239.255.5.1</receive_address> </element> </value> </multicast> ... </datareader_qos>
Note that this information is exchanged as a part of discovery. Therefore, discovery still happens using shared memory if the applications are running on the same machine, or using UDPv4 if the applications are running on different machines (with default settings).