Довольно часто операторы (и провайдеры) предлагают дешевый интернет - или вообще предоставляют анлим. Но у нас все не как у людей, просто так счастья быть не может. Часто соединение разрывается или "затыкается" "залипает" (когда соединение не разрывается, но данные не идут).
Всем, кто сталкивается с этой проблемой - поможет простенький скрипт-пинговалочка.
Его смысл: периодически пингуется адрес. При отсутствии пинга (когда канал "залип" или разорвался) происходит переподключение. Запустив этот скрипт, можно быть уверенным в поддержании работоспособности подключения.
Порядок действий:
1. Создаем в блокноте cmd-файл (например, pinger.cmd) со следующим содержимым:
upd: переработана логика - добавлен разрыв соединения, пересоединение
В даном файле нужно заменить (при желании) адрес хоста, который пингуется (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
3. Запускаем и радуемся жизни - пинговалка установит соединение и будет поддерживать его в рабочем состоянии.
Для линукса я соорудил аналогичный скрипт для поддержания выделенки:
© Паук, 2007
Сообщение отредактировал Паук - 15.3.2007, 6:36
Всем, кто сталкивается с этой проблемой - поможет простенький скрипт-пинговалочка.
Его смысл: периодически пингуется адрес. При отсутствии пинга (когда канал "залип" или разорвался) происходит переподключение. Запустив этот скрипт, можно быть уверенным в поддержании работоспособности подключения.
Порядок действий:
1. Создаем в блокноте cmd-файл (например, pinger.cmd) со следующим содержимым:
upd: переработана логика - добавлен разрыв соединения, пересоединение
Код
@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
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
choise.rar ( 2.88 килобайт ) Кол-во скачиваний: 4720 |
3. Запускаем и радуемся жизни - пинговалка установит соединение и будет поддерживать его в рабочем состоянии.
Для линукса я соорудил аналогичный скрипт для поддержания выделенки:
pinger.zip ( 684 байт ) Кол-во скачиваний: 1989 |
© Паук, 2007
Сообщение отредактировал Паук - 15.3.2007, 6:36