Вверх ↑
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
#1: 2009-09-14 19:15:35 ЛС | профиль | цитата
Вот делая программу для автоконнекта к локальному VPN серверу дошёл до функции определения активности подключения и застопорился на пинге внутреннего VPN сервера ну так вот, пинг проходит удачно и при разрыве связи с VPN сервером при попытке пропинговать внутренний VPN сервер компонент Ping как и было задумано должен выдавать сообщение о не найденном хосте и должен происходить повторный коннект но проблема в том что компонент даже при установке в TimeOut значения 0 не выдаёт сообщение о ненайденом хосте хотя его реально нету (проверял в стандартном пинге системы) да и вводил Ip не существующего сервера и всёравно нечего не выдаёт единственное когда он начинает работать это когда я подключаюсь к интернету и тогда он начинает показывать сообщение об не найденом хосте, заметил также что компонент начинает показывать сообщение об не найденом хосте только после 3-4 попытках проверки пинга и чтобы между попытками был промежуток в 50-100 мс.
Собственно модем подключается к локалке через Dynamic IP addres, интернет подключаю через бридж (на момент тестирования был отключен).
Вот схема на которой проводил тест!
code_14939.txt
карма: 1
0
файлы: 1code_14939.txt [704B] [142]
Гость
Ответов: 17029
Рейтинг: 0
#2: 2009-09-15 09:22:01 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 02:06:43
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2009-09-15 10:31:45 ЛС | профиль | цитата
CriDos, должен предупредить, что vpn сервер одинакого хорошо пингуется и без соединения с ним, что в данном случае и наблюдается.
карма: 27
0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2009-09-15 10:53:39 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 02:06:43
карма: 0

0
Ответов: 1841
Рейтинг: 369
#5: 2009-09-15 11:01:22 ЛС | профиль | цитата
Всё, проблему нашёл...
Локалка возвращяет любой пинг с положительным ответом и почемуто выдётся IP основного шлюза а не пингуемого сервера...
карма: 1
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-09-15 11:03:17 ЛС | профиль | цитата
если нет события onFailed, заничит должно быть onFind
карма: 27
0
Ответов: 5446
Рейтинг: 323
#7: 2009-09-15 12:09:11 ЛС | профиль | цитата
CriDos, состояние VPN лучше мониторить через другое API (вроде в ModemDial оно используется)
карма: 1

0
Ответов: 1841
Рейтинг: 369
#8: 2009-09-15 12:36:54 ЛС | профиль | цитата
Да, прейдёться всё-таки через ModemDial проверять состояние...
------------ Дoбавленo в 14.59:
Решил мониторинг сделать через rasdia и получилось даже лучше чем с пингом но появилась небольшая проблема с кодировкой при захвате текста с дос приложения но это мелочи...
Вот как я реализовал мониторинг подключения

Add(WinExec,13753391,511,308)
{
FileName="C:\WINDOWS\"
Point(doConsoleExec)
Point(onConsoleResult)
link(FileName,8949347:Result,[])
link(onConsoleResult,10104598:doCompare,[(555,321)(555,342)])
}
Add(Dir,6510082,483,210)
{
Point(WindowsDir)
}
Add(StrCat,8949347,511,259)
{
Str2="system32\rasdial.exe"
link(Str1,6510082:WindowsDir,[])
}
Add(Hub,8988389,469,315)
{
link(onEvent1,8949347:doStrCat,[(497,321)(497,265)])
link(onEvent2,13753391:doConsoleExec,[])
}
Add(StrMask,10104598,567,336)
{
Mask="*Mediazona P2P*"
link(onFalse,10064639:doMessage,[])
}
Add(Message,10064639,616,336)
{
Message="происходит попытка приконнектиться"
}
Add(Timer,15695187,427,315)
{
Interval=10000
link(onTimer,8988389:doEvent1,[])
}

Если ктото знает способ надёжней или проще то поделитесь со мной
карма: 1
0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)