(Изначально я разместил аналогичный вопрос на Переполнение стека но читатели рекомендовали вместо этого разместить здесь)
Когда вы создаете исходящие TCP-соединения, большинство приложений позволяют операционной системе выбирать, какой порт использовать. В большинстве операционных систем для этой цели используется рекомендованный IANA динамический диапазон портов 49152-65535. Но в Windows 2003 и ранее (включая XP) Microsoft использует порты 1025-5000. Microsoft позволяет вам изменять верхний предел этого диапазона с помощью параметра реестра MaxUserPort TcpIP, но я не вижу возможности изменить нижний предел. Мне нужно, чтобы порт 4160 был свободен для входящих соединений, и в редких случаях исходящее соединение крадет этот порт у меня, прежде чем я привяжу этот порт.
Помимо MaxUserPort вам также необходимо указать ReservedPorts.
Ключ реестра: HKLM \ System \ CurrentControlSet \ Services \ TCPIP \ Parameters
Значение реестра: ReservedPorts Тип: Многострочное значение Данные значения: 1024-5000
Вы также можете попробовать указать только 4160-4160 и не использовать ReservedPorts.