On Wed, May 1, 2019 at 4:37 AM Markus Elfring <markus.elfr...@web.de> wrote: > > > In Python, there's a certain amount of support. You can attempt to > > bind to a port, and if you fail, try the next one in a sequence. > > * The zero seems to be also an usable parameter here. > Is the system configuration documentation unclear about the applied > value range for the port allocation? > Can it happen that special permissions would be needed for a setting?
You'll get anything in the ephemeral ports range. Your OS may control exactly which ports are available, but at very least, the range will include 49152-65535. Most likely it'll be wider than that. No, you don't need any special permissions; privileged ports are all in the 0-1023 range. > > It's simple, it's straight-forward, and it doesn't cause problems. > > Would you like to reduce connection management difficulties because of > an error message like “OSError: [Errno 98] Address already in use”? Ah. There are two causes of this. One is that you actually DO have two programs trying to use the same port, in which case all you can do is move the problem to the client (which of the two do you want to connect to?). But the other cause is that you recently shut the server down, and the port is still in the TIME_WAIT state. You can avoid this with the SO_REUSEADDR flag. (There are potential consequences to this, but if you're working on a LAN (or on localhost), you're almost certainly fine.) Check the Python socket module for how to set that flag, and see if that eliminates your hassles. ChrisA -- https://mail.python.org/mailman/listinfo/python-list