Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> узнать подключен ли комп к Intenet, как? 
:(
    Опции темы
RWander
Дата 23.7.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



Как программно узнать подлючен ли компьютер к Internet?  smile 


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
mihryak
Дата 23.7.2007, 14:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Код

        private const long ConnectionState = 32;

        [DllImport("wininet.dll")]
        static extern private bool InternetGetConnectedState(out int p, int r);

        public static bool IsConnected()
        {
            int i;
            bool isConnected = InternetGetConnectedState(out i, 0);
            if ((i & ConnectionState) != 0)
            {
                return false;
            }

            return isConnected;
        }

PM MAIL ICQ   Вверх
RWander
Дата 23.7.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



mihryak, пасибо! smile


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Nickey
Дата 23.7.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 21.7.2006

Репутация: нет
Всего: нет



а можно наверное сделать пинг нужного сервера(например www.ru) и таким оброзом можно сразу узнать есть ли интернет, и работает ли онsmile)
PM MAIL   Вверх
RWander
Дата 29.7.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



чтобы код работал нужно еще прописать:
Код

using System.Runtime.InteropServices;


Это сообщение отредактировал(а) RWander - 29.7.2007, 19:54


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
RWander
Дата 29.7.2007, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



Цитата(mihryak @ 23.7.2007,  16:20)
Код

        private const long ConnectionState = 32;

        [DllImport("wininet.dll")]
        static extern private bool InternetGetConnectedState(out int p, int r);

        public static bool IsConnected()
        {
            int i;
            bool isConnected = InternetGetConnectedState(out i, 0);
            if ((i & ConnectionState) != 0)
            {
                return false;
            }

            return isConnected;
        }

этот код срабатывает даже когда на компьютаре установлено соединение по лакальной сети.. как этого избежать?


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
mihryak
Дата 30.7.2007, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(RWander @  29.7.2007,  20:28 Найти цитируемый пост)
этот код срабатывает даже когда на компьютаре установлено соединение по лакальной сети.. как этого избежать? 

по всей видимости - никак.
у меня на работе единственное активное соединение - локальная сетка, выход в инет через неё же.
если нужен не весь интернет в целом, а что-то конкретное, то нужно проверять этот конкретный адрес.
например, как было предложено Nickey, пингануть, используя System.Net.NetworkInformation.Ping.
а если интересует доступность веб-сервиса и используется прокси-наследник SoapHttpClientProtocol, то можно вызвать его метод Discover(), что заодно позволит проверить соответствие прокси и реального сервиса. (прим. вызов тяжёлый, не злоупотреблять).
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.