Работа над приложением, которое использует камеры.

Контроллер камеры имеет один IP-адрес (я могу определить этот IP) в сети, и каждая камера доступна с использованием этого IP-адреса и порта. Контроллер может иметь до 250 камер.

В настоящее время есть три камеры, и я хочу иметь возможность назначать порты в виде комков, как в ... 6510, (Прием) 6520, (Док) 6530 (Парковка), так что я могу добавить дополнительные камеры и назначить порты, соответствующие физическому местоположению камеры, как в ... 6510 и 6511 будут физически близко друг к другу, так же как 6520, 6521 и 6522 будут близко.

Как я могу найти диапазон доступных портов? Я искал в Интернете и нашел несколько сайтов, на которых указаны номера портов, но я хотел бы найти свободный диапазон для каждого ПК, на котором установлено программное обеспечение.

Как я могу сканировать неиспользуемые порты?

1 ответ1

1

Если вы не зарегистрируете свои номера портов в IANA, другие программы могут пытаться подключиться к тому же порту (он может уже использоваться другим приложением). Даже если вы зарегистрировали номера портов, другие программы, не соблюдающие стандарты, могут по-прежнему пытаться подключиться к тому же порту.

Поскольку вам требуется большое количество портов и не определенное количество портов, вам, вероятно, не повезет, если вы зарегистрируете порты в IANA.

Поэтому вы должны использовать порты> = 49151. Стандартная практика заключается в попытке привязки к порту, и если он используется, привязка завершится неудачно. Вы ловите исключение и пробуете следующий порт.

Там нет ничего, что перечисляет свободные порты, но вы можете получить используемые порты. Порты варьируются от 1 до 65535, поэтому вы можете составить список свободных портов со списком используемых портов. Я обнаружил, что довольно часто в списке используемых портов отображаются ложные срабатывания. Например. порты могут отображаться как используемые, которые на самом деле больше не используются, но со временем они очищаются со временем.

Итак, если вам нужны блоки свободных портов, вы можете получить этот список из используемых портов.

Ваш сервер может захотеть разместить список портов, которые он использует, через веб-сервер на известном порту 80. Обмен данными между клиентом и сервером зависит от наличия хотя бы одного известного порта, который клиент может использовать для подключения к серверу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .