Как диагностировать наличие Инета

CWICWEB, ClarioNET и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Как диагностировать наличие Инета

Сообщение dik1970 »

В задаче на С6.3 реализована отправка сообщения на конкретный e-mail с использованием Blat_Send.
Вопрос, как проще диагностировать перед отправкой наличие действующего подключения к интернету,
чтобы не просто получить ошибку отправки, а сообщить клиенту ( ну вот такой контингент), что
неплохо бы было подключиться к сети.
Первая мысль отправить ping на известный адрес.
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Как диагностировать наличие Инета

Сообщение Admin »

Вторая: получить файл по известному адресу.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Как диагностировать наличие Инета

Сообщение Дед Пахом »

Третья: послать клиента по известному адресу.
С уважением, ДП
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Re: Как диагностировать наличие Инета

Сообщение dik1970 »

Может я не по русски объясняю, не знаю конечно.
Какой файл получить???
Прога стоит у клиентов, и отправляют сообщения тоже они - мне. Их много и почти все владеют компьютером на начальном уровне.
Поэтому в тех случаях, когда инет на машине просто выключен, надо так прямо им об этом сообщать. Иначе будут звонить и
спрашивать и весь смысл затеи теряется.
Blat_send выдает, конечно коды ошибок, но там на один код несколько разных вариантов ошибки.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Как диагностировать наличие Инета

Сообщение Дед Пахом »

Отключите интернет и попробуйте зайти на какой-нибудь сайт, IE вам посоветует сперва проверить правильность введённого url. Так что я бы на Вашем месте не парился и при получении любой ошибки от Blat_send выводил окошко с текстом, первой строкой которой красным цветом жирно и крупно написал "Сперва убедитесь в наличии соединения", а потом другие возможные причины ошибки.
С уважением, ДП
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Re: Как диагностировать наличие Инета

Сообщение dik1970 »

Спасибо, скорее всего так и поступлю
AlexPet
Старожил
Сообщения: 203
Зарегистрирован: 25 Октябрь 2005, 6:22
Откуда: Северск
Контактная информация:

Re: Как диагностировать наличие Инета

Сообщение AlexPet »

За это отвечает ф-ии InternetGetConnectedState() из wininet.dll или InetIsOffLine() из url.dll
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Re: Как диагностировать наличие Инета

Сообщение Игорь Столяров »

Здесь нужно определится, что Вам нужно: наличие Internet (трансляции IP пакетов) как таковое или возможность отправить сообщение.
Как говорят в Одессе "это две большие разницы". Например у меня в локальной сети предприятия настроен собственный Intranet и свой почтовый сервер.
При этом то, что Вы называете "Internet" в этой сети нет, а вот почтовый сервер (SMTP / POP3 . IMAP ) работает прекрасно из всех программ ...

Вам нужно просто проверять наличие доступа к ресурсу к которому Вы обращаетсь для передачи сообщения (почтовому серверу).
Это можно сделать либо через PING, либо если хочется красиво - то через функции Catalyst SocketTools или WinAPI.
Если совсем все плохо - то на крайний случай просто тупо отрабатывать наличие ошибки по факту передачи сообщения (как это уже рекомендовали ниже).
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить