internet connection
Подумывал о варианте получения данных, к примеру с google.com и обработке эксепшна, но хочется найти более элегантный вариант.
Должна ж быть какая-либо API ф-ция для этого.
Цитата: koval
Подумывал о варианте получения данных, к примеру с google.com и обработке эксепшна, но хочется найти более элегантный вариант.
А как сисадмины проверяют наличие инета?
Код:
ping ya.ru -t
Если есть ответ, значит Инет есть.
В принципе есть уже готовая реализация icmp протокола для .net, но она стотит денег...
Цитата: hardcase
В принципе есть уже готовая реализация icmp протокола для .net, но она стотит денег...
Пиновать Яндекс не очень разумно, поскольку может отвалиться роутер у магистралоьного провайдера, и никакого пинга не будет. Лучше пинговать или Default Gateway, или целевой сервер, ради которого и осуществляется подключение к Инету. А что до реализации ICMP, можно, во-первых, самому написать, во-вторых, погуглить исходники к книге "Professional .NET Network Programming" (Vinod Kumar, Andrew Krowczyk etc.). Я как-то находил их, вроде даже локально где-то лежат. Правда, не факт, что их везде можно использовать. Кстати, сама книга тоже чертовски полезна, очень советую.
Наиболлее точный результат (для большинства случаев) будет если попытаться подключиться по HTTP с настройками Internet Explorer к какому-либо популярному поисковику, а дальше исходя из задачи.
Увы, понятие "наличие подключения к inetrnet" нельзя как-то однозначно трактовать.. с одной стороны это наличие связи до какого-то отдельно выбранного хоста, в других - отсутствие запретов и ограничений.
Добавлено: просто интересно, что за проект? :)
нашел API-шку InternetGetConnectedState
Цитата: Sanila_san
погуглить исходники к книге "Professional .NET Network Programming" (Vinod Kumar, Andrew Krowczyk etc.). Я как-то находил их, вроде даже локально где-то лежат
Знаем-знаем такую - полезное чтиво. Читал когда-то. Вот хоть убей, не могу вспомнить, кто же спер ее у меня..... :confused: