Люди предложили использовать INetAddress.isReachable. Проблема в том, что некоторые сайты настраивают свои брандмауэры для блокировки сообщений ICMP Ping. Таким образом, «ping» может выйти из строя, даже если веб-служба доступна.
И, конечно же, верно и обратное. Хост может отвечать на пинг, даже если веб-сервер отключен.
И, конечно, машина может быть неспособна напрямую подключиться к определенным (или всем) веб-серверам из-за ограничений локального брандмауэра.
Основная проблема заключается в том, что «может подключиться к Интернету» является плохо определенным вопросом, и такого рода вещей трудно проверить без:
- информации о компьютере пользователя и «локальных» сети и
- информация о том, к чему приложение должно получить доступ.
Как правило, самым простым решением является приложение, которое просто пытается получить доступ к тому, что ему нужно для доступа, и опуститься на человеческий разум, чтобы выполнить диагноз.
Да, но этот «дубликат» принял answere, который даже не является решением, поэтому PLS не беспокоит – Chris
Ответ на этот вопрос аналогичен мами другим вопросам той же формы. Единственный правильный способ определить, доступен ли какой-либо ресурс, - попытаться использовать его в обычном ходе выполнения и справиться с отказом как и когда это произойдет. Любая другая техника - это одна из форм попытки предсказать будущее. – EJP