Вверх ↑
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
#1: 2011-09-28 20:34:58 ЛС | профиль | цитата
Извиняюсь что без приложенной схемы, но просто не знаю как реализовать с помощью имеющихся компонентов.
Задумка вроде проста - при разрыве ADSL соединения (ppoe) - компьютер выключается.
В принципе задумал для экономии электричества так сказать.
Просто если коннект рвётся, то закачки не скачиваются, и комп впустую молотит.
Заранее спасибо.
карма: 0

0
Ответов: 3851
Рейтинг: 159
#2: 2011-09-28 20:41:41 ЛС | профиль | цитата

если соединение одно, то можно проверять доступность 2..3 внешних узлов и, если все недоступны, то - в гибернацию (например)..
карма: 0
начавший
0
Ответов: 4641
Рейтинг: 334
#3: 2011-09-28 20:48:06 ЛС | профиль | цитата
можно по netstat определять есть ли подключение к сети...
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 817
Рейтинг: 52
#4: 2011-09-29 08:24:42 ЛС | профиль | цитата
user_asm,
Вот тебе батник за 2сек.
code_25289.txt
Как это перевести в Hiasm - думаю сам сможешь разобраться
Если нет, то я смогу на Hiasm это нарисовать только за 10 мин
карма: 1

0
файлы: 1code_25289.txt [157B] [198]
Ответов: 3889
Рейтинг: 362
#5: 2011-09-29 08:30:04 ЛС | профиль | цитата
-= DriveR =-, я бы не рекомендовал пинговать hiasm.com всуе. Во-первых, это лишняя нагрузка на канал, мало ли сколько народу запустят скриптсхему. Во-вторых, к сожалению, образцом стабильности линк до сюда назвать трудно (по крайней мере, от моих хостов на двух разных провайдерах), так что ПК может вырубиться преждевременно.
Andrey писал(а):
проверять доступность 2..3 внешних узлов и, если все недоступны

карма: 1

0
Ответов: 16884
Рейтинг: 1239
#6: 2011-09-29 08:31:09 ЛС | профиль | цитата
Ravilr писал(а):
можно по netstat определять есть ли подключение к сети...
user_asm писал(а):
Просто если коннект рвётся, то закачки не скачиваются
а наоборот, по закачке нельзя ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 817
Рейтинг: 52
#7: 2011-09-29 08:34:55 ЛС | профиль | цитата
1nd1g0 писал(а):
я бы не рекомендовал пинговать hiasm.com всуе

Не проблема, я только пример привел, все в руках заказчика
Вот пример на проверку нескольких адресов
echo off
cls

:Start
ping -n 1 ya.ru
IF %ERRORLEVEL% == 1 GOTO next1
sleep 60
GOTO Start

:next1
ping -n 1 mail.ru
IF %ERRORLEVEL% == 1 GOTO next2
sleep 60
GOTO Start

:next2
ping -n 1 google.com
IF %ERRORLEVEL% == 1 GOTO Exit
sleep 60
GOTO Start

:Exit
shutdown /s /f /t 01 /c "Not available Internet"

карма: 1

0
Ответов: 3889
Рейтинг: 362
#8: 2011-09-29 08:38:45 ЛС | профиль | цитата
user_asm писал(а):
при разрыве ADSL соединения (ppoe) - компьютер выключается

user_asm писал(а):
если коннект рвётся, то закачки не скачиваются, и комп впустую молотит

А автоматически восстановить соединение - проблема? На ПК это что-то вроде "Подключаться автоматически" + "Перезвонить при разрыве связи" + "Сохранить учётные данные" + "Не запрашивать имя пользователя и пароль". На маршрутизаторах и модемах автодозвон по умолчанию... Или Вы про ситуацию когда деньгитрафик кончаются?
карма: 1

0
Ответов: 952
Рейтинг: 4
#9: 2011-09-29 09:27:18 ЛС | профиль | цитата
Если коннект порвался и автоматом соединился (а так оно по дэфолту и стоит) то закачки не пойдут - файлообменники без докачки. И снова получаем работу компа вхолостую.
------------ Дoбавленo в 09.26:
Деньгитрафик не учитываю. Денег хватает, трафик анлим. Вопрос стоит только в электричестве и электромагнитном излучении компа.
Пингование тоже не вариант.
------------ Дoбавленo в 09.27:
Надо же будет сравнивать несколько попыток пингаа за это время + интервал проверок пингом комп может автоматически переподключится и все будет Ок а на самом деле впустую.
------------ Дoбавленo в 09.27:
Вот сегодня - инет порвался часа в 2-3, до 7:30 комп молотил вхолостую.
По закачке тоже не вариант, как я говорил ФО без докачки.
карма: 0

0
Ответов: 817
Рейтинг: 52
#10: 2011-09-29 09:34:07 ЛС | профиль | цитата
user_asm писал(а):
Пингование тоже не вариант.

Это из каких соображений?
Просто любопытно
карма: 1

0
Ответов: 3889
Рейтинг: 362
#11: 2011-09-29 09:58:22 ЛС | профиль | цитата
user_asm писал(а):
Пингование тоже не вариант.

Отключаем автодозвон и пингуем

code_25290.txt

-= DriveR =- писал(а):
Это из каких соображений?

Пинг пройдёт, а закачки уже оборвались

user_asm писал(а):
По закачке тоже не вариант, как я говорил ФО без докачки.

Отслеживайте качалку свою (USD?), если бездельничает - выключаете компьютер.
------------ Дoбавленo в 09.46:
user_asm, Ещё проще вариант (если автодозвон производит компьютер) - отслеживать факт дозвона по окнампроцессамвсплывающей подсказке о подключении.
------------ Дoбавленo в 09.51:
user_asm писал(а):
комп может автоматически переподключится и все будет Ок

Пингуйте часто и с минимальными задержками гейтDNS провайдера через VPN(PPPoE ), уж его-то ответ должен быть быстрее, чем операция автодозвона, тем более, период дозвона на ПК регулируется (на маршрутизаторах - редко). Отключаться не сразу, а набрав "критическую массу" неудачных пингов подряд до гейтаDNS.
------------ Дoбавленo в 09.58:
Следующая идея - вычислять дельту переданных за, скажем, минуту, данных - если трафик не больше, чем среднестатистический "паразитный" от фоновых приложений и системы, то выключаем ПК. Заодно, например, антивирус обновится и не вырубит прямо посередине его.
карма: 1

0
файлы: 1code_25290.txt [1.5KB] [150]
Ответов: 952
Рейтинг: 4
#12: 2011-09-29 10:27:01 ЛС | профиль | цитата
К сожалению схема на работе не пошла - эмулятор элемента вижу справа от элемента Пинг.
USD еще та качалка, пользую Download Master.
------------ Дoбавленo в 10.27:
Встроенные средства качалок не вариант, ведь не только качалки работают, например файлообменник разорвал соединение, но идет запись онлаин-трансляции в другой проге и там всё ок, ведь обрыва общего коннекта не было.
карма: 0

0
Ответов: 1058
Рейтинг: 76
#13: 2011-09-29 10:28:30 ЛС | профиль | цитата
[offtop]Еще пять копеек только если IP динамический(меняется при каждом подключении). Пинг+плюс сравнение IP, если адрес изменился значит произошел "реконект".[/offtop]

карма: 0

0
Ответов: 3889
Рейтинг: 362
#14: 2011-09-29 11:23:20 ЛС | профиль | цитата
Можно создать комплексное приложение, высчитывающее вероятность пропадания связи на основе сразу всех перечисленных мною факторов и принимающее решение об отключении ПК:

1. пинг до файлообменников пропадал дольше чем на 5 секунд
2. пинг до DNGгейта провайдера внутри VPN (PPPoE) пропал дольше чем на 2 секунды
3. средний трафик за несколько минут не превысил среднего "фонового" ("паразитного")
4. за последние десять минут появлялись окна, похожие на окна переподключения к VPN провайдера
5. в статусной строкеокне качалки ошибка либо сигнал о неактивности
6. внешний сетевой адрес сменился (идея tom-it)
7. ...
------------ Дoбавленo в 10.32:
user_asm писал(а):
эмулятор элемента вижу справа от элемента Пинг

Обновите HiAsm ([svn]CounterEx.pas[/svn]), а пока элемент замените на Counter, вот так:

Add(MainForm,11938328,238,182)
{
Width=256
Height=95
Caption="Ping"
BorderStyle=4
Point(onPaint)
link(onPaint,8940946:doReset,[])
}
Add(Ping,5899746,413,350)
{
Name=""
TimeOut=5000
link(onFind,12486062:doNext,[])
}
Add(TrayIcon,12666879,385,189)
{
Hint="Shutdown by ping"
FormHook=0
ShowWORemoveIcon=0
Point(doFormHook)
link(onClick,13211627:doEvent,[])
link(onDblClick,12666879:doShow,[(429,202)(429,176)(369,176)(369,195)])
}
Add(Switch,8940946,315,196)
{
Default=0
link(onSwitch,12666879:doHide,[])
}
Add(IndexToChanel,13211627,441,189)
{
link(onEvent2,10209496:doPopupHere,[])
}
Add(PopupMenuEx,10209496,497,196)
{
Menu=#4:Exit|
GutterLineOn=1
Bitmaps=[]
link(MenuItemIdx,11938328:doClose,[(541,202)(541,154)(231,154)(231,209)])
}
Add(Memo,11469301,343,287)
{
Left=440
Top=280
Align=5
Strings=#7:8.8.8.8|5:ya.ru|6:vk.com|
}
Add(ArrayEnum,398083,357,350)
{
link(onItem,5899746:doPing,[])
link(Array,11469301:Array,[])
}
Add(Counter,12486062,497,350)
{
}
Add(Hub,12183034,294,343)
{
OutCount=3
link(onEvent1,12486062:doReset,[(473,349)(473,370)])
link(onEvent2,398083:doEnum,[])
link(onEvent3,3032632:doCompare,[(334,363)(334,433)])
}
Add(If_else,3032632,497,427)
{
Type=2
Op2=Integer(0)
link(onFalse,9870050:doPowerOff,[])
link(Op1,12486062:Count,[])
}
Add(Timer,7916946,231,343)
{
Interval=30000
OverCall=1
link(onTimer,12183034:doEvent1,[])
}
Add(ExitWindows,9870050,560,413)
{
QuickForce=0
Point(doPowerOff)
}


------------ Дoбавленo в 11.23:
user_asm, набросок детектора длительной неактивности сети (отслеживается выделенный в списке интерфейс):


Add(MainForm,5943187,182,182)
{
Position=1
link(onCreate,16392187:doEnum,[])
}
Add(NetInterfaces,16392187,238,196)
{
link(onEnum,6661811:doSeparateMT,[])
}
Add(NetInterfaceInfo,4459567,455,203)
{
Point(InOctets)
link(onReadInfo,10262091:doTimer,[])
link(Index,14840748:Var1,[(461,185)])
}
Add(ListBox,16000831,350,196)
{
Left=290
Top=165
Align=5
Point(Index)
Point(doSelectString)
link(onClick,6069459:doTimer,[])
}
Add(MT_MultiData,6661811,294,196)
{
From=1
Count=1
link(onData1,16000831:doAdd,[])
}
Add(Timer,10262091,504,203)
{
Interval=60000
Enable=1
AutoStop=1
link(onTimer,12030026:doReadinfo,[])
}
Add(NetInterfaceInfo,12030026,553,203)
{
Point(InOctets)
link(onReadInfo,13504248:doCalc,[(600,209)(600,302)(520,302)(520,265)])
link(Index,14840748:Var3,[(559,185)])
}
Add(MathParse,13504248,546,259)
{
MathStr="(10000 > (%2 - %1))"
link(onResult,6216943:doCase,[])
link(X1,4459567:InOctets,[(552,247)(461,247)])
link(X2,12030026:InOctets,[])
}
Add(Timer,6069459,399,203)
{
Interval=80000
Enable=1
link(onTimer,4459567:doReadinfo,[])
}
Add(Case,6216943,609,259)
{
Value=Integer(1)
link(onTrue,8421598:doMessage,[])
}
Add(Message,8421598,665,266)
{
Message="Давно ничего не качаем, пора выключаться!"
}
Add(LineBreak,7633000,371,259)
{
Caption="CurrentNIC"
Type=1
link(Data,16000831:Index,[])
Primary=[9583598,140,-105]
}
Add(GetDataEx,14840748,511,180)
{
link(Data,9583598:Var,[])
}
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#15: 2011-09-29 12:18:09 ЛС | профиль | цитата
user_asm писал(а):
пользую Download Master
а здесь спросить не пробовал http://downloadmaster.ru/forum/. Сейчас DM не использую, но раньше в настройках DM было что-то типа "Выключать ПК по завершению всех закачек", оно, помоему, считало прерывание закачки завершением .
------------ Дoбавленo в 12.18:
А если хочешь сделать свой Loader, то самому сделать докачку не судьба ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)