[zeromq-dev] DEALER-ROUTER question

Pieter Hintjens ph at imatix.com
Thu Sep 25 15:52:09 CEST 2014

Thanks for your answer, and I'm so glad you didn't give up yet.

The irony of working on Windows is that while it's touted as a
platform for less competent developers, it is in fact much harder to
use than Linux, for ordinary development.

So my first recommendation to you, if you're not up to getting things
working on Windows is to use Ubuntu or similar as a learning box.

It is true that we lack a good guide for getting started on Windows.
Why don't you try, e.g. this excellent series of articles by Sacha
Barber: http://www.codeproject.com/Articles/809849/ZeroMq-sharp-Hello-World

In any case, the only way to learn ZeroMQ properly is to (a) get a
language kit that works for you and (b) write simple examples, either
copying from the Guide or by yourself, and after example number 20 or
so, you will start to get it.


On Thu, Sep 25, 2014 at 3:08 PM, Riskybiz <riskybizlive at live.com> wrote:
> 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

More information about the zeromq-dev mailing list