Здравствуйте.
У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. есть ли в данный момент активное соединение? Нашел одну статью(на CodeProject), так там написано, что я должен рубиться на какой-нибудь, постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это же не выход. Можно ли это иначе сделать?
Спасибо!
Здравствуйте, vityanya, Вы писали:
V>Здравствуйте. V>У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. есть ли в данный момент активное соединение? Нашел одну статью(на CodeProject), так там написано, что я должен рубиться на какой-нибудь, постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это же не выход. Можно ли это иначе сделать? V>Спасибо!
Можно. Только для начала объясните, что есть инетрнет и чем подключение к интернету отличается от подключения к неинтернету.
Здравствуйте, vityanya, Вы писали:
V>Здравствуйте, GuinPin, Вы писали:
GP>>Можно. Только для начала объясните, что есть инетрнет и чем подключение к интернету отличается от подключения к неинтернету.
V>Есть сетевое подключение(просто сеть), а есть DialUp подключение к интернет-провайдеру
а есть подключение к интеренет провайдеру через простое подключение (которое вы обозвали просто сеть)
Hello, vityanya!
GP>> Можно. Только для начала объясните, что есть инетрнет и чем GP>> подключение к интернету отличается от подключения к неинтернету.
v> Есть сетевое подключение(просто сеть),
А теперь на одном из компов "просто сети" ставим еще модем, NAT, proxy. Это уже не "просто сеть"?
v> а есть DialUp подключение к интернет-провайдеру
И есть друг, я с ним устанавливаю диалап соединение чтоб в HMM поиграть.
Для конретного случая, когда подключение к нету строго по DialUp, и известно, что это DialUp не куда-то, в именно к провайдеру (или четко известно название DialUp соединения с провайдером), то копать в сторону RAS API, а именно функций: RasEnumConnections и RasGetConnectStatus
Здравствуйте, vityanya, Вы писали:
V>Здравствуйте, GuinPin, Вы писали:
GP>>Можно. Только для начала объясните, что есть инетрнет и чем подключение к интернету отличается от подключения к неинтернету.
V>Есть сетевое подключение(просто сеть), а есть DialUp подключение к интернет-провайдеру
Как всем этим пользоваться, можно посмотреть в моей OpenSource прогремме The RAS Logger System по адресу http://www.co.ru/~nadya
Здравствуйте, Nazik, Вы писали:
N>Для конретного случая, когда подключение к нету строго по DialUp, и известно, что это DialUp не куда-то, в именно к провайдеру (или четко известно название DialUp соединения с провайдером), то копать в сторону RAS API, а именно функций: RasEnumConnections и RasGetConnectStatus
N>Здравствуйте, vityanya, Вы писали:
V>>Здравствуйте, GuinPin, Вы писали:
GP>>>Можно. Только для начала объясните, что есть инетрнет и чем подключение к интернету отличается от подключения к неинтернету.
V>>Есть сетевое подключение(просто сеть), а есть DialUp подключение к интернет-провайдеру
Здравствуйте, GarryIV, Вы писали:
GIV>Hello, vityanya!
GP>>> Можно. Только для начала объясните, что есть инетрнет и чем GP>>> подключение к интернету отличается от подключения к неинтернету.
v>> Есть сетевое подключение(просто сеть), GIV>А теперь на одном из компов "просто сети" ставим еще модем, NAT, proxy. Это уже не "просто сеть"?
v>> а есть DialUp подключение к интернет-провайдеру GIV>И есть друг, я с ним устанавливаю диалап соединение чтоб в HMM поиграть.
GIV>Как эти ситуации отличить?
Наверное, никак.
Но соединение по диал-апу отловить можно?
У меня есть сетевое подключение, и я хочу узнать, активно ли оно в данный момент или нет. Вот и все. Теперь понятно?
Hello, "vityanya" > У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. > есть ли в данный момент активное соединение? Нашел одну статью(на > CodeProject), так там написано, что я должен рубиться на какой-нибудь, > постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это > же не выход. Можно ли это иначе сделать? >
Можно запросить текущую таблицу маршрутизации и, по ней определить есть-ли
выходы во внешнюю сеть. Для надежности, можно сделать ping до
маршрутизатора.
Posted via RSDN NNTP Server 2.0 beta
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Hello, "vityanya" > > Но соединение по диал-апу отловить можно? > У меня есть сетевое подключение, и я хочу узнать, активно ли оно в данный > момент или нет. Вот и все. Теперь понятно?
Посмотри в MSDN на Win32_NetworkAdapter. У работающих адаптеров Availability
находится в Running/Full Power
Posted via RSDN NNTP Server 2.0 beta
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, vityanya, Вы писали:
V>Здравствуйте. V>У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. есть ли в данный момент активное соединение? Нашел одну статью(на CodeProject), так там написано, что я должен рубиться на какой-нибудь, постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это же не выход. Можно ли это иначе сделать? V>Спасибо!
зато ИМХО самый надёжный (если рубиться значило пинговать)
иначе слишком много параметров нужно проверить, причём разных для разных случаев подключения
Здравствуйте, vityanya, Вы писали:
V>У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. есть ли в данный момент активное соединение? Нашел одну статью(на CodeProject), так там написано, что я должен рубиться на какой-нибудь, постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это же не выход. Можно ли это иначе сделать?
В порядке уменьшения эффективности и увеличения точности
1) Есть специальная функция в WinInet. Использование ее можно поглядеть в SCOAB (Smart Client Offline Application Block), в реализации IConnectionDetectionStrategy
2) Послать ping целевому хосту
3) Подключиться к целевому сервису.
Здравствуйте, vityanya, Вы писали:
V>Здравствуйте. V>У меня такой вопрос, как мне узнать подключен ли мой комп к инету, т.е. есть ли в данный момент активное соединение? Нашел одну статью(на CodeProject), так там написано, что я должен рубиться на какой-нибудь, постоянно работающий сервак. Если я получу ответ, то я подключен. Ну это же не выход.
Почему не выход? Метод самый тупой, зато самый надежный (если это слово вообще применимо к инету ).
Вот узнаешь ты, что подключился к провайдеру, и что — есть инет? СЧАЗ! А если у провайдера облом со связью (нашрутизатор упал)? И что — есть у тебя тогда инет?
A>Почему не выход? Метод самый тупой, зато самый надежный (если это слово вообще применимо к инету ).
A>Вот узнаешь ты, что подключился к провайдеру, и что — есть инет? СЧАЗ! А если у провайдера облом со связью (нашрутизатор упал)? И что — есть у тебя тогда инет?
Метод действительно тупой, можно пинговать какой-нибудь сервак. Я просто хотел узнать, есть ли в .NET встроенные методы или свойства для определения текущего состояния подключения к инету. Может кто-нибуь подобную WinApi знает?
Здравствуйте, Nazik, Вы писали:
N>Как всем этим пользоваться, можно посмотреть в моей OpenSource прогремме The RAS Logger System по адресу http://www.co.ru/~nadya
Спасибо за рекламу все свободны