Вверх ↑
Этот топик читают: Гость
Ответов: 3889
Рейтинг: 362
#16: 2011-09-29 12:58:18 ЛС | профиль | цитата
Следующая версия утилиты отслеживания сетевой активности:

Add(MainForm,5943187,175,217)
{
Caption="Idle network monitor"
Position=1
link(onCreate,16392187:doEnum,[])
}
Add(NetInterfaces,16392187,224,231)
{
link(onEnum,6661811:doSeparateMT,[])
}
Add(NetInterfaceInfo,4459567,273,315)
{
Point(InOctets)
link(onReadInfo,10262091:doTimer,[])
link(Index,14840748:Var1,[(279,297)])
}
Add(ListBox,16000831,343,231)
{
Left=290
Top=165
Align=5
Point(Index)
Point(Handle)
Point(doSelectString)
}
Add(MT_MultiData,6661811,273,231)
{
From=1
Count=1
link(onData1,7210523:doEvent1,[])
}
Add(Timer,10262091,357,315)
{
Interval=60000
Enable=1
AutoStop=1
link(onTimer,12030026:doReadinfo,[])
}
Add(NetInterfaceInfo,12030026,406,315)
{
Point(InOctets)
link(onReadInfo,13504248:doCalc,[(567,321)(567,451)(373,451)(373,398)])
link(Index,14840748:Var3,[(412,297)])
}
Add(MathParse,13504248,399,392)
{
DataCount=3
MathStr="(%3 > abs(%2 - %1))"
ResultType=0
link(onResult,6216943:doCase,[])
link(X1,4459567:InOctets,[(405,359)(279,359)])
link(X2,12030026:InOctets,[])
link(X3,9789699:Var,[])
}
Add(Timer,6069459,217,315)
{
Interval=80000
Enable=1
link(onTimer,4459567:doReadinfo,[])
}
Add(Case,6216943,462,392)
{
Value=Integer(1)
link(onTrue,8421598:doMessage,[])
}
Add(Message,8421598,518,399)
{
Message="Давно ничего не качаем, пора выключаться!"
}
Add(GetDataEx,14840748,364,292)
{
link(Data,16000831:Index,[])
}
Add(Label,15152330,168,91)
{
Left=215
Top=70
Align=2
Caption="Выключить, если в минуту скачано менее:"
}
Add(Edit,8359534,168,140)
{
Left=230
Top=115
Align=2
Text="1048576"
DataType=2
Point(doReadOnly)
link(onChange,4738503:In,[])
}
Add(LineBreak,2779618,168,189)
{
Caption="BytesPerMinute"
Type=1
link(Data,8359534:Text,[])
Primary=[9789699,245,175]
}
Add(Button,16249654,63,308)
{
Left=125
Top=270
Align=4
Caption="Начать слежение"
Data=Integer(1)
Point(doCaption)
link(onClick,12314934:doSwitch,[])
}
Add(Switch,12314934,126,308)
{
DataOn=String(Остановить слежение)
DataOff=String(Начать слежение)
Point(onOn)
Point(onOff)
link(onSwitch,16249654:doCaption,[(172,314)(172,292)(51,292)(51,314)])
link(onOn,6069459:doTimer,[])
link(onOff,11605083:doEvent1,[])
}
Add(Hub,11605083,182,322)
{
link(onEvent1,6069459:doStop,[])
link(onEvent2,10262091:doStop,[(342,335)])
}
Add(LineBreak,4203879,28,343)
{
Caption="StopWatch"
link(Out,12314934:doReset,[(111,349)(111,321)])
Primary=[4738503,182,-203]
}
Add(Hub,7210523,315,231)
{
link(onEvent1,16000831:doAdd,[])
link(onEvent2,16000831:doSelectString,[(336,244)(336,279)])
}
Add(Label,10030723,217,91)
{
Left=215
Top=70
Align=2
Caption="БАЙТ через сетевой интерфейс:"
}
Add(ExitWindows,15859970,518,357)
{
QuickForce=0
Point(doPowerOff)
}
------------ Дoбавленo в 12.58:
Схема обновлена, добавлен трюк, обходящий серьёзный недостаток компонента NetInfo (выдачу объёма принятых байт в Integer). Без этого есть ненулевой шанс ложного срабатывания авто выключения при превышении объёмов в 2 Гб и 4 Гб (и далее кратно 2 Гб) ровно между двумя замерами (в течении минуты).
карма: 1

1
Голосовали:user_asm
Ответов: 952
Рейтинг: 4
#17: 2011-09-29 14:26:38 ЛС | профиль | цитата
Tad
Встроенные средства качалок не вариант, ведь не только качалки работают, например файлообменник разорвал соединение, но идет запись онлаин-трансляции в другой проге и там всё ок, ведь обрыва общего коннекта не было.

------------ Дoбавленo в 14.26:
Скачивание не может быть принято за эталон, параллельно могут работать еще несколько онлаин-программ у которых все будет в порядке.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#18: 2011-09-29 23:36:15 ЛС | профиль | цитата
Очередная модификация схемы монитора сетевой активности, добавлена строка статуса, отображающая текущее число скачанных байт для выбранного интерфейса за интервал, добавлено авто отключение слежения при смене интерфейса (аналогично отключению при изменении порога срабатывания), сделан изменяемым интервал. code_25299.txt
карма: 1

0
файлы: 1code_25299.txt [4.4KB] [106]
Ответов: 952
Рейтинг: 4
#19: 2011-10-21 22:39:16 ЛС | профиль | цитата
Вопрос - почему в окне выборе соединений у меня там их штук 20-30.

------------ Дoбавленo в 22.39:
Что то не вставилась картинка
http://imageshack.us/photo/my-images/190/connn.jpg/
карма: 0

0
Ответов: 3889
Рейтинг: 362
#20: 2011-10-22 15:01:08 ЛС | профиль | цитата
user_asm писал(а):
Вопрос - почему в окне выборе соединений у меня там их штук 20-30.

Ответ: у Вас NT6.x, считающая некоторые протоколы и каждый сетевой фильтр (скажите спасибо своему файерволу) отдельным интерфейсом, да в добавок у Вас несколько реальных сетевых адаптеров, и есть виртуальные. Число элементов в списке стремится к (число_протоколов_и_фильтров)*(число_адаптеров).
карма: 1

0
20
Сообщение
...
Прикрепленные файлы
(файлы не залиты)