Сканирование для ряда бесплатных портов
Работа над приложением, которое использует камеры.
Контроллер камеры имеет один IP-адрес (я могу определить этот IP) в сети, и каждая камера доступна с использованием этого IP-адреса и порта. Контроллер может иметь до 250 камер.
В настоящее время есть три камеры, и я хочу иметь возможность назначать порты в виде кусков, как в... 6510, (Прием) 6520, (Док) 6530 (Парковка), чтобы я мог добавить дополнительные камеры и назначить порты, соответствующие Физическое местоположение камеры, как в... 6510 и 6511, будет физически близко друг к другу, так же как и 6520, 6521 и 6522.
Как я могу найти диапазон доступных портов? Я искал в Интернете и нашел несколько сайтов, на которых указаны номера портов, но я хотел бы найти свободный диапазон для каждого ПК, на котором установлено программное обеспечение.
Как я могу сканировать неиспользуемые порты?
1 ответ
Если вы не зарегистрируете свои номера портов в IANA, другие программы могут пытаться подключиться к тому же порту (он может уже использоваться другим приложением). Даже если вы зарегистрировали номера портов, другие программы, не соблюдающие стандарты, могут по-прежнему пытаться подключиться к тому же порту.
Поскольку вам требуется большое количество портов и не определенное количество портов, вам, вероятно, не повезет, если вы зарегистрируете порты в IANA.
Следовательно, вы должны использовать порты>= 49151. Стандартная практика - это попытка привязки к порту, и если она используется, привязка завершится неудачно. Вы ловите исключение и пробуете следующий порт.
Там нет ничего, что перечисляет свободные порты, но вы можете получить используемые порты. Порты варьируются от 1 до 65535, поэтому вы можете составить список свободных портов со списком используемых портов. Я обнаружил, что довольно часто в списке используемых портов отображаются ложные срабатывания. Например. порты могут отображаться как используемые, которые на самом деле больше не используются, но со временем они со временем очищаются.
Таким образом, если вам нужны блоки свободных портов, вы можете получить этот список из используемых портов.
Ваш сервер может пожелать разместить список портов, которые он использует через веб-сервер, на известном порту 80. Связь клиент-сервер зависит от наличия хотя бы одного известного порта, который клиент может использовать для подключения к серверу.