How to reuse TCP listening socket immediately after it was connected at least once?
roy at panix.com
Mon May 25 13:27:37 CEST 2009
In article <gvd1id$8jj$2 at lust.ihug.co.nz>,
Lawrence D'Oliveiro <ldo at geek-central.gen.new_zealand> wrote:
> In message <roy-3C4DED.09214724052009 at news.panix.com>, Roy Smith wrote:
> > In article <gvb8fn$7gm$1 at lust.ihug.co.nz>,
> > Lawrence D'Oliveiro <ldo at geek-central.gen.new_zealand> wrote:
> >> The right thing to do is try to ensure that all your connections are
> >> properly closed at shutdown. That may not be enough (if your server
> >> crashes due to bugs), so the other thing you need to do is retry the
> >> socket open, say, at 30-second intervals, until it succeeds.
> > That may be a reasonable thing to do for production code, but when you're
> > building and debugging a server, it's a real pain to not be able to
> > restart it quickly whenever you want (or need) to.
> On the contrary, I run exactly the same logic--and that includes socket-
> handling logic--in both test and production servers. How else can I be sure
> it'll work properly in production?
If running without SO_REUASEADDR works for you, that's great. I was just
pointing out how it can be useful in cases such as the OP's, where he's
getting bind errors when he restarts his server.
More information about the Python-list