Проверка подключения к Интернету
|
|
Mangoz | Дата: Вторник, 28 Апреля 2009, 09:10 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
| Как осуществить проверку Интернета, как модемного, так и сетевого? Типа если есть пропускает к примеру на Page 2 если нету вылазит сообщение и прога закрывается (ну это я сам смогу).
MMB. Найдём всё!
|
|
| |
toizy | Дата: Вторник, 28 Апреля 2009, 09:36 | Сообщение # 2 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Попытаца скачать какую-нить страницу, например, yandex.ru
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Mangoz | Дата: Вторник, 28 Апреля 2009, 09:43 | Сообщение # 3 |
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
| хммм, это как? Тут двоякое. Может соединения не быть воабще, а может инет глючить - и всё будет тупо стоять. Мне надо чтобы конкретно
MMB. Найдём всё!
|
|
| |
Rush | Дата: Вторник, 28 Апреля 2009, 16:25 | Сообщение # 4 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Можно по описанному ниже сделать, но есть одна не очень хорошая деталь - если винда не русская, то не сработает: Code p$='wait,hide /c rasdial | find /i /c "отсутствуют подключения" > <Temp>\net.txt' Run("cmd","p$") noconnect=VAL(StrFromFile(<Temp>\net.txt,1,1)) If (noconnect) Then Message("Соединения с интернетом нет","") Else Message("Соединение с интернетом есть","") End Run("cmd","hide /c del <Temp>\net.txt /q") Можно по другому - тут локализация не играет роли: Code p$='wait,hide /c rasdial > <Temp>\net.txt' Run("cmd","p$") noconnect=NOL(<Temp>\net.txt) If (noconnect<=3) Then Message("Соединения с интернетом нет","") Else Message("Соединение с интернетом есть","") End Run("cmd","hide /c del <Temp>\net.txt /q") Это первое, что пришло в голову. Если подумать хорошенько, то найдется, наверное, и более интересное решение...
|
|
| |
Mangoz | Дата: Вторник, 28 Апреля 2009, 17:06 | Сообщение # 5 |
Ветеран форума
Группа: Проверенные
Сообщений: 215
Репутация: 1
Награды: 2
Статус: Offline
| Спасибо работают оба варианта. Конечно лучше второй. Проверя по сетевому - работает. На мопедах тоже будет?
MMB. Найдём всё!
|
|
| |
Rush | Дата: Вторник, 28 Апреля 2009, 17:13 | Сообщение # 6 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (Mangoz) На мопедах тоже будет? Да, конечно. Все, что входит в "Сетевые подключения".
|
|
| |
BlackGhost | Дата: Среда, 29 Апреля 2009, 11:28 | Сообщение # 7 |
Любопытный
Группа: Проверенные
Сообщений: 33
Репутация: 0
Награды: 0
Статус: Offline
| А если инет на компе не имеет прямого подключения, а является частью сети с возможностью выхода в инет, то эти скрипты работать не будут? У меня вот не сработало а на машине с прямым доступом определилось подключение.
|
|
| |
toizy | Дата: Среда, 29 Апреля 2009, 11:46 | Сообщение # 8 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (BlackGhost) А если инет на компе не имеет прямого подключения, а является частью сети Quote (toizy) Попытаца скачать какую-нить страницу, например, yandex.ru Добавлено (29 Апрель 2009, 11:46) --------------------------------------------- И зря вы плюётесь на такой способ, на мастерах делфи чуваки это уже проходили...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Rush | Дата: Среда, 29 Апреля 2009, 13:12 | Сообщение # 9 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (toizy) И зря вы плюётесь на такой способ, на мастерах делфи чуваки это уже проходили... Пингованием? Я и таким способом делал - тоже работает. Но там один небольшой недостаток - файрвол реагирует. Quote (BlackGhost) У меня вот не сработало Можно посмотреть лог команды? Что там пишет? Запусти из комстроки - cmd /c rasdial > c:\net.log И покажи, пожалуйста содержимое файла.
|
|
| |
toizy | Дата: Среда, 29 Апреля 2009, 13:34 | Сообщение # 10 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Не пинг, а браузер щеманётся - его файрвол вряд ли обругает...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
BlackGhost | Дата: Среда, 29 Апреля 2009, 13:53 | Сообщение # 11 |
Любопытный
Группа: Проверенные
Сообщений: 33
Репутация: 0
Награды: 0
Статус: Offline
| Rush, содержимое net.log Quote Ћвбгвбвўгов Ї®¤Є«озҐЁп Љ®¬ ¤ гбЇҐи® § ўҐаиҐ . Кстати с компов в сети нельзя даже делать tracert, есть подозрения что админы просто блочат
Сообщение отредактировал BlackGhost - Среда, 29 Апреля 2009, 13:55 |
|
| |
Rush | Дата: Среда, 29 Апреля 2009, 15:47 | Сообщение # 12 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| BlackGhost Да, похоже тут действуют другие правила. Я-то от корпоративных и прочих сетей далек - один как перст со своим радиомодемом. Quote (toizy) Не пинг, а браузер щеманётся - его файрвол вряд ли обругает... Не понял, ты имеешь в виду объект браузер в проекте? Если да, то обругает за милую душу...
|
|
| |
toizy | Дата: Среда, 29 Апреля 2009, 16:43 | Сообщение # 13 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Rush) ? Если да, то обругает за милую душу... Да. Но так ли обругает? На яндекс-то? вряд ли...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Rush | Дата: Среда, 29 Апреля 2009, 17:06 | Сообщение # 14 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (toizy) Но так ли обругает? На яндекс-то? вряд ли Дело в том, что не важен адрес. Файрвол идентифицирует запрос как обращение программы, для которой не заданы политики доступа в сеть. Конечно, если дашь разрешение проге работать в сети, то последующих вопросов больше не будет. Но это и для пинга так. А использовать его не в пример проще и надежней. PS. И лучше всего пинговать, все-таки, гугл - надежность ответа выше.
|
|
| |
Alex3A | Дата: Четверг, 30 Апреля 2009, 09:17 | Сообщение # 15 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Как вам такая мысля, за любой интернет отвечает то или иное соединение, к тому же настроенное ранее, и имя его известно, достаточно проверить его состояние и мы узнаем есть ли интернет. Интернет может быть настроен на работу множеством способов и через разные фичи, даже VPN(виртуальную приватную сеть). И мы все проверяем есть ли интернет, посмотрев статус нужного соединения в трее.
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 21:42 | Сообщение # 16 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Столкнулся с проблемой, инет подключен через сеть, и штатной функцией плагина "Интернет" определить есть ли соединение не получается. Решил идти путём скачки какого-нибудь маленького файла. Но...если не перезагрузить проект, а соединение с инетом будет утеряно, всё равно будет показано что соединение есть. (проект прикрепил) Запускаю проект Жму кнопку Показывает сообщение что инет подключен Отключаю инет Жму кнопку И файл, который должен скачаться всё равно появляется по заданному путь. Откуда он берётся??? Может только у меня так.
Сообщение отредактировал Serg - Пятница, 19 Февраля 2010, 21:43 |
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 21:48 | Сообщение # 17 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ктото предлагал делать это с помощью ping из командной строки. например ping google.ru > otvet.txt и проанализировать файл ответ.тхт, если идет обмен пакетами значит инет есть.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 21:52 | Сообщение # 18 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| А поточнее, как выглядит команда?
|
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 22:07 | Сообщение # 19 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| да так и выглядит как написал открываешь командную строку и пишешь там ping google.ru и видишь процесс отправки пакетов, значит инет есть. С помощью скобки > перенаправляем вывод команд в файл. Возьми создай .cmd файл (боюсь Run в ммб не переварит скобку) , запиши туда ping google.ru > c:\otvet.txt и запускай этот файл через Run, потом смотри что написано в ответе
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 22:09 | Сообщение # 20 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| ping google.ru > otvet.txt А где файл находится (otvet.txt)?
|
|
| |
Alex3A | Дата: Пятница, 19 Февраля 2010, 22:19 | Сообщение # 21 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Serg, Quote (DEMBEL) ping google.ru > otvet.txt так и выглядит ping google.ru > c:\otvet.txtДобавлено (19 Февраль 2010, 22:15) ---------------------------------------------
Quote (DEMBEL) (боюсь Run в ммб не переварит скобку) ping google.ru > c:\\otvet.txt какбы такДобавлено (19 Февраль 2010, 22:16) ---------------------------------------------
Quote (Serg) А где файл находится (otvet.txt)? там где тебе надо, ты только укажи.Добавлено (19 Февраль 2010, 22:17) --------------------------------------------- ping google.ru > куда сохранять Добавлено (19 Февраль 2010, 22:19) --------------------------------------------- DEMBEL, интересно, все ли консольки можно перенаправить?
|
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 22:20 | Сообщение # 22 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| ну в досе можно было все
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 22:23 | Сообщение # 23 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| ping google.ru >C:\otvet.txt Я так пробовал, файл не появляется
|
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 22:33 | Сообщение # 24 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| а у меня появляется, лежит себе прямо в диске С... Добавлено (19 Февраль 2010, 22:33) --------------------------------------------- так что давай, разбирайся в чем трабл и действуй...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Alex3A | Дата: Пятница, 19 Февраля 2010, 22:39 | Сообщение # 25 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Serg, чудес не бывает! Ты опять за свое! А где и как пробывал, делай через утилиту "командная строка" или смдДобавлено (19 Февраль 2010, 22:39) --------------------------------------------- DEMBEL, через командную строку, что в меню "пуск" не сохраняет, чего то нехватает.
|
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 22:42 | Сообщение # 26 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| на скрине пример от запуска через cmd, вы что шутите чтоли Добавлено (19 Февраль 2010, 22:42) --------------------------------------------- возьмите путь в скобки если пробелы, вставьте доп. пробел после скобки, не знаю что еще... ping google.ru > "C:\otvet.txt"
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 22:50 | Сообщение # 27 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Я делал через Пуск-Выполнить..неработало. Через командную строку всё Ок. Спасибо.Попробую сделать. Ах да, а в ММБ как запустить?
|
|
| |
DEMBEL | Дата: Пятница, 19 Февраля 2010, 22:58 | Сообщение # 28 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (Serg) Ах да, а в ММБ как запустить? по идее через Run "cmd.exe /c" "ping..." но конструкция со скобкой может не работать, поэтому я и говорю чтобы ты создал .cmd файл с этой строчкой с пингом и запускал уже его через run как обычно. ну все, хватит воду в ступе толочь, все что можно рассказать и показать уже сделали.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Пятница, 19 Февраля 2010, 23:04 | Сообщение # 29 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Run("cmd.exe /c","ping google.ru > c:\otvet.txt") Виндовс неудаётся найти... А если создать .cmd файл файл, то процесс будет виден, окно надо будет закрывать
|
|
| |
Alex3A | Дата: Пятница, 19 Февраля 2010, 23:50 | Сообщение # 30 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Serg, синтаксис команды Run("имяпроги","параметры") Run("cmd.exe","/c ping google.ru > c:\otvet.txt") /c -выполнить и закрыть cmd /? просмотр всех ключей и условий...Добавлено (19 Февраль 2010, 23:50) --------------------------------------------- Проверил, работает.
|
|
| |