zeromq / cppzmq

Header-only C++ binding for libzmq
http://www.zeromq.org
MIT License
1.94k stars 757 forks source link

Pub/Sub with NORM issues #538

Open wouterz opened 2 years ago

wouterz commented 2 years ago

I have been experimenting with the norm_engine, and am able to get multiple machines communicating but I ran into a couple issues:

  1. The SUB needs to be started before the PUB, otherwise none of the messages are received. Closing the PUB halfway through its transmission and restarting it, results in all messages received. Pub/Sub is asynchronous, and the 0MQ docs state that a number of messages would be dropped if the sub is started later, but it never (1000+ messages, 10+ seconds) seems to recover.

  2. If I am using two publishers on the same interface, but with different broadcasting IP's, (i.e. norm://1,interface1;224.1.2.152:5555 and norm://2,interface1;224.1.2.153:5555), a subscriber listening on norm://interface1;224.1,2,152:5555 receives from BOTH publishers. Surprisingly, this doesn't seem to happen for any other ip's I have tried. (eg. pub x.x.x.151 & 152, sub 152/151)

Has anyone come across this before and is familiar with a way to solve/prevent it?