[zeromq-dev] Simple PUB / SUB test does not work

Colin Ingarfield colin at ingarfield.com
Thu Sep 22 18:21:14 CEST 2016


The subscriber connect() call is asynchronous.  It's possible the
publish messages are sent before the subscribe socket connects and
establishes its subscription.

Try sleeping for 100ms or so after the connect call, before the loop.

On 9/22/16 11:10 AM, Aurélien .... wrote:
> Hi,
>
> I'm trying to make a simple PUB / SUB test.
>
> First, I created the publisher, then the subscriber with a message to
> subscribe.
>
> Second, I send some messages from the publisher and I try to retreive
> them from the subscriber.
>
> The code compiles but the subscriber does not receive any data.
>
> My config is :
> - Windows 7 / Visual Studio 2015
> - Compile in /MTd (debug)
> - ZMQ Version : 4.1.4
>
> Here is the code :
>
> #include "zhelpers.hpp"
>
> void TestPubSub()
> {
> zmq::context_t context;
> zmq::socket_t publisher(context, ZMQ_PUB);
> zmq_bind(publisher, "tcp://*:5563");
>
> zmq::socket_t subscriber(context, ZMQ_SUB);
> subscriber.connect("tcp://localhost:5563");
> subscriber.setsockopt(ZMQ_SUBSCRIBE, "A");
>
> while (1) {
> //  Write two messages, each with an envelope and content
> s_sendmore(publisher, "A");
> s_send(publisher, "We don't want to see this");
> s_sendmore(publisher, "B");
> s_send(publisher, "We would like to see this");
>
> //  Read envelope with address
> std::string addr = s_recv(subscriber); // block here, waiting for
> messages which does not come
> //  Read message contents
> std::string contents = s_recv(subscriber);
> }
> }
>
> int main(int argc, char** argv)
> {
> TestPubSub();
> return 0;
> }
>
> Can you tel me where I'm wrong ?
>
> Thank you very much,
>
> Kin
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160922/b976d190/attachment.htm>


More information about the zeromq-dev mailing list