В задаче на С6.3 реализована отправка сообщения на конкретный e-mail с использованием Blat_Send.
Вопрос, как проще диагностировать перед отправкой наличие действующего подключения к интернету,
чтобы не просто получить ошибку отправки, а сообщить клиенту ( ну вот такой контингент), что
неплохо бы было подключиться к сети.
Первая мысль отправить ping на известный адрес.
Как диагностировать наличие Инета
CWICWEB, ClarioNET и пр.
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
dik1970
- Admin
- Администратор
- Сообщения: 4010
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 53 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: Как диагностировать наличие Инета
Вторая: получить файл по известному адресу.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Admin
- Дед Пахом
- Старичок
- Сообщения: 3300
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Дед Пахом
Re: Как диагностировать наличие Инета
Может я не по русски объясняю, не знаю конечно.
Какой файл получить???
Прога стоит у клиентов, и отправляют сообщения тоже они - мне. Их много и почти все владеют компьютером на начальном уровне.
Поэтому в тех случаях, когда инет на машине просто выключен, надо так прямо им об этом сообщать. Иначе будут звонить и
спрашивать и весь смысл затеи теряется.
Blat_send выдает, конечно коды ошибок, но там на один код несколько разных вариантов ошибки.
Какой файл получить???
Прога стоит у клиентов, и отправляют сообщения тоже они - мне. Их много и почти все владеют компьютером на начальном уровне.
Поэтому в тех случаях, когда инет на машине просто выключен, надо так прямо им об этом сообщать. Иначе будут звонить и
спрашивать и весь смысл затеи теряется.
Blat_send выдает, конечно коды ошибок, но там на один код несколько разных вариантов ошибки.
dik1970
- Дед Пахом
- Старичок
- Сообщения: 3300
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 51 раз
- Контактная информация:
Re: Как диагностировать наличие Инета
Отключите интернет и попробуйте зайти на какой-нибудь сайт, IE вам посоветует сперва проверить правильность введённого url. Так что я бы на Вашем месте не парился и при получении любой ошибки от Blat_send выводил окошко с текстом, первой строкой которой красным цветом жирно и крупно написал "Сперва убедитесь в наличии соединения", а потом другие возможные причины ошибки.
С уважением, ДП
Дед Пахом
dik1970
-
- Старожил
- Сообщения: 207
- Зарегистрирован: 25 Октябрь 2005, 6:22
- Откуда: Северск
- Благодарил (а): 1 раз
- Контактная информация:
Re: Как диагностировать наличие Инета
За это отвечает ф-ии InternetGetConnectedState() из wininet.dll или InetIsOffLine() из url.dll
AlexPet
- Игорь Столяров
- Ветеран движения
- Сообщения: 8074
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 29 раз
- Поблагодарили: 98 раз
Re: Как диагностировать наличие Инета
Здесь нужно определится, что Вам нужно: наличие Internet (трансляции IP пакетов) как таковое или возможность отправить сообщение.
Как говорят в Одессе "это две большие разницы". Например у меня в локальной сети предприятия настроен собственный Intranet и свой почтовый сервер.
При этом то, что Вы называете "Internet" в этой сети нет, а вот почтовый сервер (SMTP / POP3 . IMAP ) работает прекрасно из всех программ ...
Вам нужно просто проверять наличие доступа к ресурсу к которому Вы обращаетсь для передачи сообщения (почтовому серверу).
Это можно сделать либо через PING, либо если хочется красиво - то через функции Catalyst SocketTools или WinAPI.
Если совсем все плохо - то на крайний случай просто тупо отрабатывать наличие ошибки по факту передачи сообщения (как это уже рекомендовали ниже).
Как говорят в Одессе "это две большие разницы". Например у меня в локальной сети предприятия настроен собственный Intranet и свой почтовый сервер.
При этом то, что Вы называете "Internet" в этой сети нет, а вот почтовый сервер (SMTP / POP3 . IMAP ) работает прекрасно из всех программ ...
Вам нужно просто проверять наличие доступа к ресурсу к которому Вы обращаетсь для передачи сообщения (почтовому серверу).
Это можно сделать либо через PING, либо если хочется красиво - то через функции Catalyst SocketTools или WinAPI.
Если совсем все плохо - то на крайний случай просто тупо отрабатывать наличие ошибки по факту передачи сообщения (как это уже рекомендовали ниже).
Make Clarion Great Again ! 
Игорь Столяров
Вернуться в «CLARION for Internet»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)