[zeromq-dev] How to detect if a remote socket has closed
david.briant at ubs.com
david.briant at ubs.com
Tue Aug 24 17:41:02 CEST 2010
Just rereading this thread. Why shouldn't I be using pairs in normal
I want to do simple point-to-point (often asynchronous) messaging
between many peers. The REQ/REP and PUB/SUB paradigms don't fit.
Additionally I want to do dynamic resource discovery which concretely
binding to a port negates.
From: zeromq-dev-bounces at lists.zeromq.org
[mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Pieter
Sent: Tue 17-Aug-2010 17:05
To: 0MQ development list
Subject: Re: [zeromq-dev] How to detect if a remote socket has closed
On Tue, Aug 17, 2010 at 5:04 PM, <David.Briant at ubs.com> wrote:
> 1) Can I check that all socket types are meant to rebind
All except ZMQ_PAIR, which you should not be using in normal code
> 2) Also the REQ socket appears to cause python to use 100% cpu if the
> REP socket isn't running. I assume that shouldn't be the case?
Definitely not healthy. So I just booted Windows XP and tried the
Hello World client and server from the guide, in Python. Started the
hwclient.py, watched CPU. Killed it, then started hwserver.py. In
neither case was there any CPU usage (task manager itself takes 1% or
> So it looks like I should have a directory service that can mediate
> connections between peers, I need a SUB connection to the directory
> a REQ connection to initially connect to it on a well known port. The
> directory a service is registered with PUBs any state changes such as
> service crashes. It will also PUB a restart (of itself) on the same
> channel. The only situation I don't have covered is if a directory
> means the directory starting on a different IP but a slow heartbeat
> mechanism should sort that.
> Do you recommend PGM for the PUB/SUB part? - initially there'll only
> a few apps so TCP might be fine.
Don't take this the wrong way, but I'd really suggest you read through
the user guide chapters 1 and 2 and work through all the examples
until they are clear. They're all simple C programs.
Then, start by solving a small part of your problem and get that
working. Then, extend that carefully one piece at a time.
iMatix - www.imatix.com
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org
Visit our website at http://www.ubs.com
This message contains confidential information and is intended only
for the individual named. If you are not the named addressee you
should not disseminate, distribute or copy this e-mail. Please
notify the sender immediately by e-mail if you have received this
e-mail by mistake and delete this e-mail from your system.
E-mails are not encrypted and cannot be guaranteed to be secure or
error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The sender
therefore does not accept liability for any errors or omissions in the
contents of this message which arise as a result of e-mail transmission.
If verification is required please request a hard-copy version. This
message is provided for informational purposes and should not be
construed as a solicitation or offer to buy or sell any securities
or related financial instruments.
UBS Limited is a company registered in England & Wales under company
number 2035362, whose registered office is at 1 Finsbury Avenue,
London, EC2M 2PP, United Kingdom.
UBS AG (London Branch) is registered as a branch of a foreign company
under number BR004507, whose registered office is at
1 Finsbury Avenue, London, EC2M 2PP, United Kingdom.
UBS Clearing and Execution Services Limited is a company registered
in England & Wales under company number 03123037, whose registered
office is at 1 Finsbury Avenue, London, EC2M 2PP, United Kingdom.
UBS reserves the right to retain all messages. Messages are protected
and accessed only in legally justified cases.
More information about the zeromq-dev