Скрипт-пинговалка для поддержания Gprs-соединения

Скрипт-пинговалка для поддержания 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 DialName = Life) [смотрим имя: Пуск - Настройки - Сетевые подключения - имя Вашего подключения]
  • логин/пароль (set Login=Login set Pass=Password) - если это требуется для установки соединения

В даном файле нужно заменить (при желании):

  • адрес хоста, который пингуется (set host = ya.ru)
  • таймаут пинга (set TimeOut = 10000)
  • количество попыток пинга (set MaxPing = 5) после которого будет переподключение
  • интервал проверки соединения (set Pause = 30)

2. Рядом с pinger.cmd кладем "choice.com" из архива choise.rar.

3. Запускаем и радуемся жизни - пинговалка установит соединение и будет поддерживать его в рабочем состоянии.

!!! Аналогичный скрипт "pinger" для Linux для поддержания выделенки pinger.zip.

 choise.rar (2.88 килобайт)  choise.rar (2.88 килобайт)  choise.rar (2.88 килобайт)  Virus Free by KAV 
 pinger.zip (684 байт)  pinger.zip (684 байт)  pinger.zip (684 байт)  Virus Free by KAV