[zeromq-dev] DEALER-ROUTER question

Diego Rodríguez-Losada diego at biicode.com
Thu Sep 25 16:21:31 CEST 2014

Dear Riskybiz,

I posted several days ago, by recommendation of Pieter, a post about
building your first C++ examples with ZeroMQ in windows (and Ubuntu/Mac),
with the C++ ZMQCPP binding and using the biicode platform. In this way,
even my students at university are able to build the examples in a few
minutes without problems.
Check it here http://blog.biicode.com/zeromq-cpp-biicode/

If you want serialization, we all agree that you should use an already
existing framework/library, instead of developing your own. So the real
problem is not about ZMQ at all, but instead, setup, learning and getting
started with the serialization framework at the same time as ZMQ. A
reference solution could be google protocol buffers. Please read also:

Sorry of the self-promotion, but I didnt got any feedback then in the list,
and I think that these problems you are describing are really related to
the issues we are trying to target in biicode for C/C++ languages.

Love to hear your feedback.


Diego Rodriguez-Losada
CTO Biicode Innovation SL

2014-09-25 15:08 GMT+02:00 Riskybiz <riskybizlive at live.com>:

> Dear Pieter,
> As a figurehead of the zeromq project I think you should know that the
> zguide and its examples, whilst a worthy effort, is actually a barrier to
> the progress of a learner.  As a newcomer to networking my interactions and
> attempts to learn and use zeromq over the past year has been an unyielding
> source of issues to be overcome.  Anyone else would probably have given up,
> but I recognise the benefits of the superb technology offered by zeromq.
> Part of the problem is perhaps that the zguide has been written by experts,
> where seemingly minor details are glossed over.  For example in the
> hwserver
> and hwclient code it is not demonstrated how actually to read a message
> payload from the socket and extract the received message string.  It cheats
> and prints; printf ("Received World %d\n", request_nbr);  When someone
> tries
> this early example the first thing they will experiment with is:  How can I
> customise the message payload and get my own message sent and received?
> They will be disappointed.  They might read on try to figure it out and be
> baffled by the multiple language bindings, apis and helper files and left
> wondering; what actually needs to be written to make zeromq work?  What is
> the core underlying zeromq commands which need to be called?  What needs to
> be installed? How do I do that? Where do I find the downloads?
> I encountered a situation last year when I needed to use the common
> technique of serialization to pass custom C++ objects over zeromq sockets.
> While the zguide alludes to the possibility there was nothing to offer
> assistance in the practical implementation.  It took some considerable
> time,
> weeks, to sort this out into a functioning prototype.  Where a simple
> functional guide example could have saved time and questions; not just for
> me but also for any number of other users.
> I find that the zguide code examples are in themselves problematic.  The
> example code is very sparsely commented.  Every line which does something
> non-trivial or zeromq specific should be explained.   I have found examples
> to be zeromq version specific, operating system specific and requiring
> modifications to work on Windows.  All of these factors just consume time
> in
> endeavouring to make them work or debug them with limited understanding of
> what is actually supposed to be happening.  This causes questions and
> frustrations.
> CZMQ was recommended as the api to use with 'reference' C language code
> examples, I lost more time trying to compile CZMQ before realising the
> practical impossibility of this on Windows despite alluringly providing
> Visual Studio project files.  The lack of working installation instructions
> was also a barrier.  Then afterwards I discover that ROUTER sockets in
> updated zeromq versions no longer use UUID identities thus anyway
> invalidating the code example I was endeavouring to get working.  More lost
> time, more questions.   No progress.
> My suggestion is that if you want fewer basic questions asked in the
> community then please take time to revisit the zguide, its examples and
> necessary zeromq code resources and make it such that people can easily
> find
> the resources they need, confidently learn and demonstrate the examples and
> functionality for themselves; without enduring endless technical barriers
> and frustrations.
> I hope you will view my feedback as constructive.
> All that said; which part of the guide should I read to solve my
> DEALER-ROUTER issue, can I be confident that any associated zguide example
> will actually work and help me to further understand how to solve my own
> zeromq issues in the future?
> Riskybiz.
> Message: 29
> Date: Thu, 25 Sep 2014 11:29:01 +0200
> From: Pieter Hintjens <ph at imatix.com>
> Subject: Re: [zeromq-dev] DEALER-ROUTER question.
> To: ZeroMQ development list <zeromq-dev at lists.zeromq.org>
> Message-ID:
>         <CADL5_sjhfSqq_YDJq59pindtY3t15dUpiJVO3wr=
> qEHn+tYeJA at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
> Please read the Guide and work through the examples, it has lots of
> explanation and examples of how to do this kind of thing.
> On Thu, Sep 25, 2014 at 10:36 AM, Riskybiz <riskybizlive at live.com> wrote:
> > A quick question for the zeromq experts if I may?
> >
> >
> >
> > Given a DEALER to ROUTER zeromq connection which is able to operate
> > asynchronously; what is the best way to coordinate inbound and outbound
> > message handling such that the DEALER socket is not blocked and an
> > application is able to react and send at a given moment but also to
> promptly
> > receive?
> >
> >
> >
> > Thanks,
> >
> >
> >
> > Riskybiz.
> >
> >
> > _______________________________________________
> > zeromq-dev mailing list
> > zeromq-dev at lists.zeromq.org
> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> >
> ------------------------------
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> End of zeromq-dev Digest, Vol 81, Issue 25
> ******************************************
> _______________________________________________
> 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/20140925/9372ee51/attachment.htm>

More information about the zeromq-dev mailing list