[zeromq-dev] Trouble sending from ROUTER to DEALER

Riskybiz riskybizlive at live.com
Mon Sep 15 13:16:15 CEST 2014


I made a quick modification to check the size of the received identity
frame.  It shows as 32 bits. Console output is:

 

router: Preparing

router: Ready to receive

--------------------------- Message Received ---------------------------

Originator Identity: 32768 Size of identity frame: 32bits

Frame Vector Index: 0 Frame Data: Frame1

Frame Vector Index: 1 Frame Data: Frame2

Frame Vector Index: 2 Frame Data: Frame3

Frame Vector Index: 3 Frame Data: Frame4

------------------------------------------------------------------------

MultiPartMessage: Sending to connection identity: 32768 Size of identity:
32bits

 

router: Ready to receive

 

 

Date: Mon, 15 Sep 2014 10:44:46 +0800

From: KIU Shueng Chuan <nixchuan at gmail.com>

Subject: Re: [zeromq-dev] Trouble sending from ROUTER to DEALER

To: ZeroMQ development list <zeromq-dev at lists.zeromq.org>

Message-ID:

 
<CAP2skc-L543rQTFv1+n_=fV31M60FPQfVpFpZsV8B=zn554=Hw at mail.gmail.com>

Content-Type: text/plain; charset="iso-8859-1"

 

You may want to check whether the received identity frame is only 32-bits in
length.

On 15 Sep 2014 02:30, "Riskybiz" <riskybizlive at live.com> wrote:

 

> Dear zeromq developers,

> 

> 

> 

> I've created a couple of simple Windows C++ console programs 

> zmqDealerClient <http://pastebin.com/1AqWXbTG> & zmqRouter 

> <http://pastebin.com/jD4LsUKU>  to understand zeromq (4.0.4) 

> ROUTER-DEALER connections.  Both use the header file multiPartMessage 

> <http://pastebin.com/hhKDamzt> to handle the preparation, sending and 

> receiving of multipart messages. I can get a message to pass from the 

> DEALER to the ROUTER with the resultant console output of:

> 

> 

> 

> router: Preparing

> 

> router: Ready to receive

> 

> --------------------------- Message Received 

> ---------------------------

> 

> Originator Identity: 32768

> 

> Frame Vector Index: 0 Frame Data: Frame1

> 

> Frame Vector Index: 1 Frame Data: Frame2

> 

> Frame Vector Index: 2 Frame Data: Frame3

> 

> Frame Vector Index: 3 Frame Data: Frame4

> 

> ----------------------------------------------------------------------

> --

> 

> MultiPartMessage: Sending to connection identity: 32768

> 

> router: Ready to receive

> 

> 

> 

> However when zmqRouter attempts to send a reply from ROUTER back to 

> the originating DEALER then the message is not getting through 

> properly and the zmqDealerClient output stalls at;

> 

> 

> 

> dealerClient: Preparing

> 

> dealerClient: Dealer Socket Ready

> 

> dealerClient: MultiPartMessage Sent

> 

> dealerClient: Awaiting Reply

> 

> 

> 

> Along with the following error messages from zmqRouter;

> 

> 

> 

> [9668] MultiPartMessage: Error Sending Identity Message Part: Unknown 

> error

> 

> [9668] MultiPartMessage: Error Sending Regular Message Part: Unknown 

> error

> 

> [9668] MultiPartMessage: Error Sending Regular Message Part: Unknown 

> error

> 

> [9668] MultiPartMessage: Error Sending Regular Message Part: Unknown 

> error

> 

> 

> 

> The multi part message being sent via the ROUTER to the DEALER is 

> prepended with the identity of the DEALER socket, I'm unsure of the 

> problem here; can anyone explain what I've done wrong?

> 

> 

> 

> Also I notice that if I run two instances of zmqDealerClient in 

> separate console windows, both connecting to the same instance of 

> zmqRouter, then both clients appear to have the same identity.  The 

> code I've written uses the default situation where the ROUTER socket 

> sets the identities internally.  I expected each instance to have a 

> unique identity.  Anyone know why this is not the case?

> 

> 

> 

> With thanks,

> 

> 

> 

> Riskybiz.

> 

 

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


More information about the zeromq-dev mailing list