how to get any available port
Steve Holden
steve at holdenweb.com
Wed Oct 5 03:58:50 EDT 2005
jepler at unpythonic.net wrote:
> Apparently, calling bind() with a zero "port" will choose some available port
> number, as demonstrated by this program:
>
> import socket
> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
> s.bind(("", 0))
> print s.getsockname()
>
> Here's how it behaved over several runs:
> $ python soc.py
> ('0.0.0.0', 34205)
> $ python soc.py
> ('0.0.0.0', 34206)
> $ python soc.py
> ('0.0.0.0', 34207)
>
> I don't know for sure whether this is standard behavior for sockets, or whether
> it's a special behavior of linux.
>
It's been standard behaviour ever since the Berkeley socket interface
was defined, as far as I know.
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/
More information about the Python-list
mailing list