Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Количество переданныхи полученных байт, Помогите !!! 
:(
    Опции темы
Олег_Игоревич
Дата 26.4.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Доброго Вам времени суток !!!
Подскажите пожалуйста как можно измерить кол-во переданных/ скачанных байт по модемному соединению и по локалке? Хотелось бы узнать как это реализовать без функции getiftable !!!
Заранее спасибо !!!
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Rouse_
Дата 26.4.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 5
Всего: 29



Чем обоснована подобная избирательность в выборе средств?


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
Олег_Игоревич
Дата 26.4.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Дело в том , что мне необходимо показывать входящий/исходящий трафик только тогда , когда моя программа активна а также запоминать входящий/исходящий трафик в программе. Функция getiftable выдаёт входящий/исходящий трафик за всю интернет-сессию(dial-up) пока включён компьютер.
Заранее спасибо !!!

--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Rouse_
Дата 26.4.2005, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 5
Всего: 29



Так а в чем проблема?
Запускаешь, считываешь текущий объем и берешь его за ноль. Все остальные данные показываешь с вычетом первоначально запомненного объема данных.


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
RA
Дата 26.4.2005, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



..

Присоединённый файл ( Кол-во скачиваний: 166 )
Присоединённый файл  Trafic.rar
PM   Вверх
Олег_Игоревич
Дата 27.4.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Скажите пожалуйста , откуда в архиве (trafic.rar) взяты файлы :
-IPHLPAPI. pas
-IPHelper. pas
В Delphi их нет.
И ещё - исходник в Delphi при запуске выдаёт ошибку!

Спасибо.
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Rouse_
Дата 27.4.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 469
Регистрация: 23.4.2005

Репутация: 5
Всего: 29



Цитата
Скажите пожалуйста , откуда в архиве (trafic.rar) взяты файлы :
-IPHLPAPI. pas
-IPHelper. pas

Это обычная транскрипция сишных заголовков IPHLPAPI.H, IPHelper.h на паскаль.


Цитата
И ещё - исходник в Delphi при запуске выдаёт ошибку!

Выдает не ошибку - а срабатывает исключение при делении на ноль.
Перепиши процедуру вот так:
Код

procedure TTraffic.NewCycle(const InOctets, OutOctets, TrafficSpeed: Dword);
begin
  Inc(self.FSecondsActive);

  If not Running then Exit;

  FSpeed := TrafficSpeed;

  //IN
  self.FInPerSec := InOctets - self.PrevCountIn;
  Inc(self.FInTotal, self.InPerSec);
  if InPerSec > 0 then Inc(FActiveCountIn);
  if InPerSec > PeakInPerSec then FPeakInPerSec := InPerSec;
  try
    if ActiveCountIn = 0 then
      self.FAverageInPerSec := 0
    else
      self.FAverageInPerSec := InTotal div ActiveCountIn
  except
    self.FAverageInPerSec := 0
  end;
  FPrevCountIn := InOctets;

  //OUT
  self.FOutPerSec := OutOctets - self.PrevCountOut;
  Inc(self.FOutTotal, self.OutPerSec);
  if OutPerSec > 0 then Inc(FActiveCountOut);
  if OutPerSec > PeakOutPerSec then FPeakOutPerSec := OutPerSec;
  try
    if ActiveCountOut = 0 then
      self.FAverageOutPerSec := 0
    else
      self.FAverageOutPerSec := OutTotal div ActiveCountOut
  except
    self.FAverageOutPerSec := 0
  end;
  FPrevCountOut := OutOctets;

end; (*NewCycle*)



--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
ArkaNN
Дата 9.7.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.7.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Скажите пожалуйста, вот в этой проге считаетсявесь траффик. А можно ли, тоже через Get_IfTableMIB, считать весь траффик, но кроме некоторых IP-ов. Т.е. не считать траффик с этих ипов и сичтать со всех остальных.
Заранее благодарен!!!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.