[zeromq-dev] What is the exact issue with enabling MULTICAST_LOOP on ZMQ sockets?

Steven McCoy steven.mccoy at miru.hk
Sat Jun 8 15:02:32 CEST 2013


On 8 June 2013 08:00, Pieter Hintjens <ph at imatix.com> wrote:

> If anyone really wants the MULTICAST_LOOP functionality, we can add it
> back and try to make the documentation and defaults clear...
>
>
I can make things even more complicated that if both publisher and
subscriber are Java applications then it will never work.

The problem stems from PGM requiring unicast capability for NAKs and how
packets are routed when you are listening on the same port.  For PGM on
Java on Windows a unicast NAK be will routed to the receive multicast
socket without hitting the IP stack and any sending application on the host.

One might think IBM's method of splitting unicast and multicast
encapsulated ports may help: the loop only applies to one socket.  Sockets
are used for sending and receiving such that multiple binding conflicts
thus occur.

The preferred resolution is to add an IPC/TCP bind to your PGM 0mq socket,
i.e.

s = zmq_socket (context, ZMQ_SUB);
zmq_bind (s, "pgm://239.192.0.1;7500");
zmq_bind (s, "ipc:///tmp/loop/7500");
...

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130608/82b447ef/attachment.htm>


More information about the zeromq-dev mailing list