Алгоритм:
Теперь скобки сбалансированы для двух условий:
Если вы не укажете номер порта, ОС автоматически выберет для вас номер временного порта .
Из Выбор номера порта ]:
Новое серверное программное обеспечение должно стремиться избегать зависимости от определенного номера порта, особенно если это программное обеспечение пользовательского уровня, которое не обязательно привязано к хорошо известному порту. К счастью, это легко сделать, запросив порт 0, который дает системе команду выбрать временный номер порта.
Временные порты могут это делать. Ваша ОС назначит вам порт из пула свободных портов.
Есть некоторый код C под лицензией BSD, который выполняет это здесь
В Python вы можете указать пару адресов ('', 0)
для той же цели. , например sock.bind (('', 0))
Единственный способ - перебрать нужный диапазон портов, пытаясь привязать сокет к каждому порту по одному, пока не найдете тот, который успешно работает.