Форум программистов, компьютерный форум CyberForum.ru

Отслеживание количества отправленных и скачаных байт - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
СергейC++
0 / 0 / 0
Регистрация: 08.08.2007
Сообщений: 12
15.09.2007, 11:23     Отслеживание количества отправленных и скачаных байт #1
Есть такой вопрос! Пока я юзаю инет, в трее висит значек статистики соединения. Так вот! Как мне так что-бы моя прога могла тоже отслеживть количество пересланых и скаченых байтиков ????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2007, 11:23     Отслеживание количества отправленных и скачаных байт
Посмотрите здесь:

Посчитать в файле кол-во нулевых байт и различных байт C++
C++ Отслеживание нажатия клавиш.
Возращение количества байт. Структура и чтение с файла C++
Для целого числа А выделить старший байт и поставить его на место младшего байта. старший байт при этом обнулить. C++
Отслеживание подключений по Wi-Fi C++
C++ функция изменяет старший байт числа на заданное значение не изменяя младший байт
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Вычислить произведение количества отрицательных и количества положительных элементов одномерного массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6904 / 5144 / 253
Регистрация: 10.12.2010
Сообщений: 22,629
Записей в блоге: 17
22.05.2012, 17:07     Отслеживание количества отправленных и скачаных байт #2
Есть такой пример, только я в не разбирался

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <windows.h>
#include <iphlpapi.h>
 
#pragma comment(lib, "iphlpapi.lib")
 
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
 
using namespace std;
//-------------------------------------------------------------------------------
char *GetTypeInterface(DWORD type)
{
 switch(type)
  {
  case IF_TYPE_OTHER:return "Other";
  case IF_TYPE_ETHERNET_CSMACD:return "Ethernet";
  case IF_TYPE_ISO88025_TOKENRING:return "Token Ring";
  case IF_TYPE_PPP:return "PPP";
  case IF_TYPE_SOFTWARE_LOOPBACK:return "Software Lookback";
  case IF_TYPE_ATM:return "ATM";
  case IF_TYPE_IEEE80211:return "IEEE 802.11 Wireless";
  case IF_TYPE_TUNNEL:return "Tunnel type encapsulation";
  case IF_TYPE_IEEE1394:return "IEEE 1394 Firewire";
  default:return "Unknow type";
  }
}
//-------------------------------------------------------------------------------
void SpeedToStr(DWORD value)
{
 unsigned KB=1024;
 unsigned MB=KB*1024;
 unsigned GB=MB*1024;
 
 if(value<KB) cout<<value<<" BpS";
 else  if(value<MB)
      {
      double r = value/KB;
      cout<<r<<" KBpS";
      }
      else  if(value<GB)
              {
              double r = value/MB;
              cout<<r<<" MBpS";
              }
}
//-------------------------------------------------------------------------------
void GetTraff(int count)
{
 int KB=1024;
 int MB=KB*1024;
 int GB=MB*1024;
 
 if(count<KB)cout<<count<<" B";
 else if(count<MB)
     {
     double r = count/KB;
     cout<<r<<" KB";
     }
     else  if(count<GB)
           {
           double r = count/MB;
           cout<<r<<" MB";
           }
}
//-------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
   cout<<".:===Connection information by los8005===:."<<endl;
 
    DWORD dwSize = 0;    DWORD dwRetVal = 0;
 
    int i;
 
    MIB_IFTABLE *pIfTable;    MIB_IFROW *pIfRow;
 
    pIfTable = (MIB_IFTABLE *)MALLOC(sizeof(MIB_IFTABLE));
 
    dwSize = sizeof(MIB_IFTABLE);    if(GetIfTable(pIfTable,&dwSize, false) == ERROR_INSUFFICIENT_BUFFER){        FREE(pIfTable);        pIfTable = (MIB_IFTABLE *) MALLOC(dwSize);    }
 
    if((dwRetVal = GetIfTable(pIfTable,&dwSize,false))== NO_ERROR)
 
for(i = 0;i<(int)pIfTable->dwNumEntries;i++){
pIfRow = (MIB_IFROW *)&pIfTable->table[i];
cout<<"Interface type: "<<GetTypeInterface(pIfRow->dwType)<<endl<<"Speed: ";
SpeedToStr(pIfRow->dwSpeed);
cout<<", Output traffic: ";
GetTraff(pIfRow->dwOutOctets);
cout<<", Input traffic: ";
GetTraff(pIfRow->dwInOctets);
cout<<endl<<".:==================NEXT=================:."<<endl<<endl;        }
 
cout<<".:===Connection information by los8005===:."<<endl;
cout<<".:==PRESS ANY KEY TO CLOSE THIS WINDOWS==:."<<endl;
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Исходник на Builder2009:
Yandex
Объявления
22.05.2012, 17:07     Отслеживание количества отправленных и скачаных байт
Ответ Создать тему
Опции темы

Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru