Что нового

[Сеть, интернет] Перезапуск программы при потере доступа к интернет

MadSochi

Новичок
Сообщения
2
Репутация
0
Версия AutoIt: 3.3.12.0

Ребят, подскажите, пожалуйста, скрипт, который будет:

Описание:
1) Определять СЕКУНДНЫЕ разрывы доступа в интернет.
2) Выключать приложение при 1-3 секундной потере доступа к интернет.
3) Запускать .exe файл при подключении обратно к интернет.

ВАЖНО !!!
Определяться должен не разрыв ФИЗИЧЕСКОГО соединения, а именно потеря доступа к Интернет при наличии физического локального соединения.

Спасибо.

Примечания:
Если кому интересно, для чего это, то кратко объясню:
На машине стоит хост.
Подключение к хосту производится через No-IP сервис.
Если хост запускается ПОСЛЕ запуска NO-IP приложения на машине - то подключение к нему извне по домену No-IP успешно.
Если же ВО ВРЕМЯ РАБОТЫ хоста интернет на секунду разрывается, то хост всё ещё продолжает работать по старому IP, то есть новый IP не переопределяется для хоста и люди уже не могут к нему подключиться.
Если же после разрыва и подключения доступа к интернет хост ПЕРЕЗАПУСТИТЬ - то к нему снова можно подключиться извне через домен NO-IP, так как хост запущен уже под новым переопределившимся IPшником.

Естественно, приходится это делать вручную, что крайне неудобно + я не всегда нахожусь за компьютером.

P.S. В идеале, конечно, хотелось бы увидеть 2 скрипта:
1. И на случай потери доступа к Интернет.
2. И на случай физического разрыва локального соединения.
Если вообще, конечно же, скрипты такого рода в природе существуют.

Спасибо.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320

alex33

Скриптер
Сообщения
1,457
Репутация
186
Отследить разрыв и восстановление можно примерно так:
Код:
While 1
	If Not Ping('google.com') Then ExitLoop
	Sleep(2000)
WEnd
MsgBox(64, 'error', 'произошёл разрыв соединения!', 10)

While 1
	If Ping('google.com') Then ExitLoop
	Sleep(2000)
WEnd
MsgBox(64, 'ok', 'соединение восстановлено!', 10)

Для перезапуска:
Код:
ProcessClose("prog.exe") ; завершить процесс

Run("prog.exe") ; запустить программу
 
Автор
MadSochi

MadSochi

Новичок
Сообщения
2
Репутация
0
Хм... Идея с пингом интересная. Мог и сам, но... не додумался.

Спасибо. Буду пробовать. Отпишусь после проверки.
 
Верх