[zeromq-dev] How to detect that zmq.Socket.send_multipart fails?

Arve Knudsen arve.knudsen at gmail.com
Tue Nov 25 19:22:57 CET 2014

I learned that one could enable ROUTER_MANDATORY on the Router socket, thus
raising an EHOSTUNREACH error if the client can't be reached. However, that
wasn't the issue. Most likely, the problem lay in the client's polling,
i.e. it wasn't reading from its socket when it was supposed to. I am using
QSocketNotifier to detect when the client socket is ready for IO, but
hadn't realized that QSocketNotifier must be disabled while querying the
socket for ZMQ events. After making sure to disable QSocketNotifier while
getting events for the socket, the problem appears to have vanished
(fingers crossed).


On Tue, Nov 25, 2014 at 9:20 AM, Arve Knudsen <arve.knudsen at gmail.com>

> Hi guys
> How does one tell if zmq.Socket.send_multipart (Python bindings) fails? I
> am experiencing in a Router (server)/Dealer (client) configuration that
> messages from the Router are sometimes not received by the Dealer. I'd like
> to retry sending the data if it's not received by the client, so the
> problem lies in how to detect failure. Let me know if I need to supply more
> information.
> See also my SO question at
> http://stackoverflow.com/questions/27107066/how-do-you-tell-if-zmq-socket-send-multipart-fails
> .
> Thanks in advance,
> Arve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20141125/cee2f469/attachment.htm>

More information about the zeromq-dev mailing list