Вверх ↑
Этот топик читают: Гость
Ответов: 85
Рейтинг: 7
#1: 2009-03-03 13:39:26 ЛС | профиль | цитата
Использую компонент NET для определения факта подключения к интернету. Но как-то он странно работает. Бывает по 20 мин. сообщает есть соединение, когда уже все остальные программы давно поняли что связь оборвана. Подскажите как часто он опрашивает подключение или как его заставить чтобы оперативно, желательно по моей команде, проверял наличие подключение к интернету.
карма: 0

0
Ответов: 1397
Рейтинг: 50
#2: 2009-03-03 13:53:30 ЛС | профиль | цитата
Ищи программу в схемах.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 590
Рейтинг: 19
#3: 2009-03-03 13:54:05 ЛС | профиль | цитата
code_11992.txt
карма: 0

0
файлы: 1code_11992.txt [550B] [158]
Ответов: 1088
Рейтинг: 112
#4: 2009-03-03 13:58:52 ЛС | профиль | цитата
IMHO более оптимальный вариант - использовать библиотеку RAS:
RAS.pas тут
Схемка выводящяя активные соединения:

Add(InlineCode,10220536,245,161)
{
WorkPoints=#6:dowork|
EventPoints=#8:onResult|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|25:uses kol,Share,Debug,RAS;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|8: public|21: onResult:THI_Event;|48: procedure doWork(var _Data:TData; Index:word);|6: end;|0:|14:implementation|0:|58:procedure THiAsmClass.doWork(var _Data:TData; Index:word);|3:var|20: conns: LPRasConn;|31: ConnCount, bufsize: longint;|14: i: integer;|26: status: TRASCONNSTATUS;|22: CStat,CName:string;|5:begin|19: bufsize := 2048;|49: // Определение количества активных соединений:|47: RasEnumConnections(nil, bufsize, ConnCount);|25: if ConnCount > 0 then |8: begin|26: // Выделение памяти:|29: GetMem(conns, bufsize);|40: conns^.dwSize := sizeof(TRasConn);|62: // Заполнение conns информацией об активных соединениях:|52: RasEnumConnections(conns, bufsize, ConnCount);|46: status.dwSize := sizeof(TRasConnStatus);|48: // Заполнение items названиями соединений:|42: for i := 0 to ConnCount - 1 do begin|51: CName:=conns^.szEntryName;// - имя соединения|57: //_hi_OnEvent(onResult,conns^.szDeviceType);//- тип|47: // conns^.szDeviceName - имя устройства|52: RasGetConnectStatus(conns^.hrasconn, status);|55: // CStat:=int2str(status.rasconnstate);// - статус|57: // _hi_OnEvent(onResult, status.dwError);// - ошибки|8: |36: _hi_OnEvent(onResult,CName);|19: inc(conns);|10: end;|29: // Освобождение памяти:|28: dec(conns, ConnCount);|21: FreeMem(conns);|7: end;|4:end;|0:|4:end.|
link(onResult,11473502:doAdd,[])
}
Add(Button,7400522,189,161)
{
Left=185
Top=160
Align=2
link(onClick,10220536:dowork,[])
}
Add(Memo,11473502,301,161)
{
Left=290
Top=165
}


карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1webdial.zip [6.3KB] [266]
Разработчик
Ответов: 26305
Рейтинг: 2146
#5: 2009-03-03 14:14:41 ЛС | профиль | цитата
Ну, для простых целей можно и HOST использовать



Add(MainForm,13337422,252,322)
{
Width=123
Height=80
}
Add(Message,6905021,420,350)
{
Message="Компьютер подключен к сети интернет."
}
Add(Button,8307708,252,385)
{
Left=35
Top=15
link(onClick,11656722:doIPByHost,[])
}
Add(Message,2619439,420,392)
{
Message="Компьютер отключен от сети интернет."
Icon=1
}
Add(Host,11656722,308,378)
{
link(onIPByHost,9680253:doCase,[])
link(HostName,8856218:Value,[])
}
Add(Memory,8856218,315,322)
{
Default=String(ya.ru)
}
Add(Case,9680253,364,385)
{
link(onNextCase,6905021:doMessage,[(408,391)(408,356)])
link(onTrue,2619439:doMessage,[])
}

карма: 22

0
Ответов: 85
Рейтинг: 7
#6: 2009-03-03 14:20:24 ЛС | профиль | цитата
EcsTasY писал(а):
Ну и запусти программу, отключи интернет и понажимай кнопочку. Результат: "Компьютер подключен к сети интернет". Хоть сто раз нажимай.
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#7: 2009-03-03 14:42:58 ЛС | профиль | цитата
Jek писал(а):
Хоть сто раз нажимай

А ты пример с HOST-компонентом пробовал с отключенным интернэтом
Вообще-то такая следилка за интернэтом есть в примере HiAgenta, там четко отрабатывает, если не пропингует внешний адрес три раза
карма: 22

0
Ответов: 8959
Рейтинг: 824
#8: 2009-03-03 14:43:17 ЛС | профиль | цитата
Sniper36, IC недовложился
карма: 19

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#9: 2009-03-03 14:44:28 ЛС | профиль | цитата
Леонид писал(а):
C недовложился

А это должно быть новостью По-моему, это не в первый раз и не у первого пользователя
карма: 22

0
Ответов: 1088
Рейтинг: 112
#10: 2009-03-03 15:02:10 ЛС | профиль | цитата
nesco писал(а):
А это должно быть новостью

Для меня вообще-то новость
Сейчас перезалью.
PS: фитча с кирилицей иногда просто бесит
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 85
Рейтинг: 7
#11: 2009-03-03 15:06:51 ЛС | профиль | цитата
nesco писал(а):
А ты пример с HOST-компонентом пробовал с отключенным интернэтом
теже яйца. Пока не перезапустишь всю сеть результат не меняется.
nesco писал(а):
Вообще-то такая следилка за интернэтом есть в примере HiAgenta, там четко отрабатывает, если не пропингует внешний адрес три раза
такого примера у меня в базе среды нет. Где его взять?
карма: 0

0
Ответов: 1088
Рейтинг: 112
#12: 2009-03-03 15:12:52 ЛС | профиль | цитата
Jek писал(а):
такого примера у меня в базе среды нет. Где его взять?

http://hiasm.com/forum.html?q=3&t=26040
ЗЫ: ты третий ответ на твой вопрос прочитал?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 85
Рейтинг: 7
#13: 2009-03-03 15:29:07 ЛС | профиль | цитата
Пример из третьего ответа не компилируется:Error: Crogram FilesHiAsmcompilerfpcppc386.exe returned an error exitcode (normal if you did not specifiy a source file to be compiled). Из HiAgenta попробую что-нибудь для себя дернуть.
карма: 0

0
Ответов: 590
Рейтинг: 19
#14: 2009-03-03 15:41:13 ЛС | профиль | цитата
Jek писал(а):
Пример из третьего ответа не компилируется
не знаю не знаю.. у меня и под дельфи и под фпс всё нормально компилит
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#15: 2009-03-03 15:48:39 ЛС | профиль | цитата
Sniper36, ты куда его послал Во, млин...

Вот ссылка на HiAgent из публикатора, которыя я только что проверил и он скомпилировался нормально, не вопрос, что будет нормально работать, но компилируется под FPC

http://www.hiasm.com/sha/shatools.php?q=5&id=101
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)