Обнаружить динамическое изменение IP-адреса - PullRequest
0 голосов
/ 04 июня 2018

Я проверил другие вопросы по этой теме, большинство из которых предлагают запустить задачу для проверки изменения IP-адреса.Я запускаю службу на веб-сервере Jetty.Мой вопрос заключается в том, фиксируют ли веб-серверы HTTP такие изменения для их работы?Или требуется только «порт» для привязки.Если веб-сервер уже выполняет такое отслеживание, я мог бы попытаться использовать его в качестве триггера в своем приложении.Я не мог найти источник, который говорит так.Мне просто интересно узнать, что-то подобное уже существует.

1 Ответ

0 голосов
/ 04 июня 2018

При запуске Jetty создает 1 (или более) объектов Jetty ServerConnector.

Эти ServerConnector объекты используют сетевые средства Java (и ОС) (для TCP / IP) для «привязки»к определенному host:port для получения списка входящих соединений.

Если IP-адрес хоста отключается, он больше не может принимать входящие соединения.

Если IP-адрес хоста изменяется, это, по сути, существующийхост отключается, и создается новый хост (с новым IP-адресом).

Чтобы сервер, такой как Jetty, для ответа на этот сценарий потребовалось бы иметь возможность подключиться к сетевым службам ОС иуведомил об этом виде изменений.Затем создайте новый ServerConnector на новом IP для приема новых входящих соединений.

Примечание: существующие соединения, скорее всего, будут прерваны ОС.

К сожалению, в стандартной Java нет такого события конфигурации сети, к которому можно подключиться.

Но специальные API существуют.

Пример: Android имеет диспетчер подключений. Android: слушатель изменения подключения к Интернету

...