Delphi и Входящий трафик

  • Автор темы Artexoid
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Artexoid

#1
Как написать програмку чтобы она отслеживала и подсчитывала входящий трафик ??? Подскажите пожалуйста !! (Только ненадо писать "Руками" :( :( :) )
 

admin

Well-known member
08.08.2003
2 754
0
#2
Artexoid
через RAS Api по идее можно. Но в 98 и 95 системах это работать не будет. Там трафик пишется в реестр в режиме реального времени в ключь DYN_DATA кажется так он назывался.

У нас тут есть пользователь AlexGin - поговори с ним, он делал такую прогу, тока на C.
 
A

Artexoid

#3
Серёга
Привет, спасибо попробую спросить у него
 
A

ArkaNN

#4
Самый грамотный способ подсчета траффика:

Код:
var zero: integer;

procedure TMainForm.FormCreate(...);
var MibArr : IpHlpAPI.TMIBIfArray;
begin
Get_IfTableMIB(MibArr);
zero:=MibArr[1].InOctets;
end;

procedure TMainForm.Timer1Timer;
var
MibArr : IpHlpAPI.TMIBIfArray;
begin
Get_IfTableMIB(MibArr);
Label1.Caption:=IntToStr(MibArr.InOctets - zero);
end;
Вроде так... Писал прямо тут без компилятора, так что, если чего, пиши... Я думаю разберешься. Кстатти тебе потребуются 2 модуля: IPHelper.pas и IPHLPAPI.pas. Если у тебя нет, или у тебя старые, то бери отсюда.
 

Вложения

A

ArkaNN

#6
Я там ошибочку допустил.
Вот исправления:
Код:
// ..........
zero:=MibArr[1].dwInOctets;
// ..........
Label1.Caption:=IntToStr(MibArr[1].dwInOctets - zero);
// ..........
Я тогда без Delphi писал. А щас проверил, все работает.
 
G

Guest

#7
Чё-то хреново в WinXP работает... С самим Windows'ом расходить очень сильно... :(
 
S

sup.by

#8
... Лучше WinPCap использовать .... возможно это труднее,но дает возможность считать траф по любому протоколу выше канального уровня .... UDP ICMP TCP IP ... можно снимать кадры Ethrnet прямо с сетевухи .... кстати в обход любого програмного файрвола ...
 
C

Cooler

#9
Проще всего - через IpHlpAPI. Его возможности примерно такие же - как и то, что показывает виндовый диспетчер задач. Если хочется сделать более сложный подсчет (например, считать не все) - тогда WinPCap выручит, НО - это такой драйвер, который требует перезагрузки системы, что не очень удобно. Возможно есть версия, которая ее не требует, на знаю...

P.S. Существуют компоненты-обертка для WinPCap, с ними использование этой библиотеки становится феноменально простым (кинул на форму и написал пару строчек в обработчике события).
 
Статус
Закрыто для дальнейших ответов.