Я разрабатываю программный компонент, отвечающий за тестирование, если сетевой интерфейс имеет связь с Интернетом. Думайте об этом как о том же тесте, который XBOX360 выполняет, чтобы информировать пользователя, подключен ли он к сети Live (просто в качестве примера).
Пока я полагал, что автотест будет работать так:
1) Проверьте физический сетевой интерфейс (если кабель подключен, имеет восходящий / нисходящий канал и т. Д.)
2) Проверьте логическую сеть (имеет IP-адрес, DNS и т. Д.)
3) Подключается к Интернету (может получить доступ к Google, например)
4) ???
5) Прибыль! (шучу ...)
Мой вопрос относится к шагу 3: Как правильно определить, имеет ли мое программное обеспечение соединение с Интернетом? Есть ли фиксированный IP-адрес для ping?
Проблема в том, что я не хочу полагаться исключительно на google.com (или любой другой известный адрес), поскольку они могут со временем меняться, и мой компонент будет вставлен на мобильное устройство, что нелегко обновить.
Есть предложения?