Искренне надеюсь, что мой "копи-пэйст" реально поможет тем, кто питается всемирной паутиной посредствам спутникового "блюдца" с исходящим через GPRS или просто ходит в нэт через модем-мобилу. Сам попробовать не успел, но спешу поделиться с вами.
А вот собственно и ОНО:
Довольно часто операторы (и провайдеры) предлагают дешевый интернет — или вообще предоставляют анлим. Но у нас все не как у людей, просто так счастья быть не может. Часто соединение разрывается или «затыкается» «залипает» (когда соединение не разрывается, но данные не идут).
Всем, кто сталкивается с этой проблемой — поможет простенький скрипт-пинговалочка. Его смысл: периодически пингуется адрес. При отсутствии пинга (когда канал «залип» или разорвался) происходит переподключение. Запустив этот скрипт, можно быть уверенным в поддержании работоспособности подключения.
Порядок действий:
1.Создаем в блокноте cmd-файл (например, pinger.cmd) со следующим содержимым:
@echo off
echo %date% %time% --- STARTED --- >> pinger.log
set Try=1
rem Все настройки вынесены в этот блок
rem имя подключения
set DialName=Life
rem логин для подключения (иногда не требуется)
set Login=Login
rem пароль для подключения (иногда не требуется)
set Pass=Password
rem таймаут пинга в мс
set TimeOut=10000
rem количество попыток пинга
set MaxPing=5
rem пауза в с
set Pause=30
rem адрес хоста для пинга
set host=ya.ru
rem свой телефонный номер
set PhoneNum=80631234567
:start
echo.
echo start ping
ping %host% -n 1 -w %TimeOut%
if errorlevel=1 goto bad
goto ok
:ping
echo.
ping %host% -n 1 -w %TimeOut%
if not errorlevel=1 goto ok
set /a Try=%Try%+1
if %Try% geq %MaxPing% goto bad
goto ping
:ok
echo.
echo ALL RIGHT
goto end
:bad
set /a Try=1
echo.
echo BAD CONNECT
echo %date% %time% --! Trouble, reconnect !-- >> pinger.log
rasdial %DialName% /disconnect
rasdial %DialName% /phone:%PhoneNum%
rasdial %DialName% %Login% %Pass%
if errorlevel=1 goto bad
goto ping
:end
set /a Try=1
echo.
choice /C:PRDE /T:P,30 /N Pause 30 seconds. [P]ing [R]econnect [D]isconnect [E]xit?
rem echo.
rem echo.
goto %ERRORLEVEL%
:1
goto ping
:2
goto bad
:3
rasdial %DialName% /disconnect
:4
echo %date% %time% == Exit script == >> pinger.log
В даном файле нужно заменить (при желании) адрес хоста, который пингуется (set host = ya.ru), таймаут пинга (set TimeOut = 10000), количество поыток пинга (set MaxPing = 5) после которого будет переподключение, интервал проверки соединения (set Pause = 30) а так же ОБЯЗАТЕЛЬНО меняем имя подключения (set DialName = Life) [смотрим имя: Пуск — Настройки — Сетевые подключения — имя Вашего подключения] и логин/пароль (set Login=Login set Pass=Password) - если это требуется для установки соединения.
2. Рядом с pinger.cmd кладем
choice.com
Файл упакован, предварительно его нужно распаковать любым архиватором, способным работать с zip-архивами
3. Запускаем и радуемся жизни — пинговалка установит соединение и будет поддерживать его в рабочем состоянии.
Запускать соединение перед запуском пинговалки НЕ ТРЕБУЕТСЯ!
Для кого эти действия сильно сложны — просто скачиваем
pinger.zip, распаковываем куда-либо, правим соответствующим образом и запускаем.
Успехов!!!