Да, порт будет выбран из предопределенного диапазона, который зависит от ОС к ОС и блокируется для другого использования. Вы можете выбрать конкретный порт с bind
, если вам это нужно.
EDIT:
Единственный случай, когда вы можете иметь несколько сокетов TCP, связанных с одним и тем же локальным портом / IP, когда вы accept()
устанавливаете новые сокеты из гнезда для прослушивания. Вы никогда не сможете bind()
использовать TCP-порт для использования порта / IP. Также существует некоторая путаница в SO_REUSEADDR
, эта опция сокета не позволяет разрешать повторное использование порта, она просто расслабляет правила, когда есть только мертвые тайм-ауты, связанные с нужным вам портом.