I just tried this, it works fine. i have code working on my Mac, as
described.
For this to work, you MUST call:
s.setsockopt(ZMQ_SUBSCRIBE, "", 0);
In two different places -- once on the bound ZMQ_SUB socket and once
for each subscriber ZMQ_SUB socket
I used the ZMQ_DEVICE, it worked (it only carries traffic in one
direction, but doesn't care).
No open_pgm needed for inproc pub/sub -- I'm on a Mac, and haven't
gotten it to build yet.
Best,
Matt
On Jul 16, 2010, at 9:05 PM, Dmitri Toubelis wrote:
> I've abandoned this idea for now, it seems easier to implement my own
> broker, then try to make ZMQ to what it is not designed to do. It
> would be
> nice to see this feature in a future releases though. It is not a
> classical
> PUB/SUB pattern but I think it is way more powerful. Can I suggest
> it as a
> feature request? It should be rather straightforward fix.
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of david
> starkweather
> Sent: July 16, 2010 8:42 PM
> To: 0MQ development list
> Subject: Re: [zeromq-dev] PUB/SUB with multiple publishers
>
> I recently tried something similar. My aim was to have a main
> publisher
> socket in the main thread, and then each worker thread have a another
> publisher socket. I would then have a pipe between the worker sockets
> and a sub socket in the main thread. It is my understanding that the
> forwarder device is supposed to work for this scenario - i.e. forward
> from the sub skt to the main pub skt. I recieved no errors, but
> none of
> the messages got delivered to the other sub skts that subscribed.
>
> I managed to implement my own queue in which I forward all messages,
> and
> then have one publisher thread to just publish messages. I have only
> been able to get the pub/sub mechanism to work when there is just one
> publisher. If anyone has any alternate ideas, I'd be interested.
> thanks.
>
> Grant Starkweather
>
> On Fri, 2010-07-16 at 13:34 -0400, Dmitri Toubelis wrote:
>> I have a scenario when I need to use PUB/SUB scheme with multiple
>> publishers. Is it possible to do with "inproc" transport?
>>
>> Here is what I tried:
>> - create PUB socket and bind it to "inproc://pipe" endpoint
>> - create another PUB socket and connect it to the same "inproc://
>> pipe"
>> endpoint
>> - create SUB socket for each subscriber and connect them to thre
>> "inproc://pipe" endpoint.
>> - publish message using second publisher.
>>
>> I'm getting no error, but message is not getting delivered to
>> subscribers. Am I doing something wrong?
>>
>> Any help is appreciated.
>> _______________________________________________
>> zeromq-dev mailing list
>> [email protected]
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev