拨号网络的流量监控

来源:互联网 发布:新浪十大网络主播 编辑:程序博客网 时间:2024/04/27 16:25
搞了好久了,流量监控,代码处理上不太好,不过勉强可以用,希望大神能指导一下,完善一下
#include <windows.h> #include <iphlpapi.h> #include <stdio.h> #pragma comment ( lib, "iphlpapi.lib" ) int wangka(int last_totle){MIB_IFTABLE *pIfTable = NULL; ULONG dwSize = 0; DWORD dwRet; dwRet = GetIfTable( pIfTable, &dwSize, TRUE );if ( dwRet == ERROR_INSUFFICIENT_BUFFER ) { pIfTable = ( MIB_IFTABLE * ) new char[dwSize]; if ( pIfTable != NULL ) { dwRet = GetIfTable( pIfTable, &dwSize, TRUE ); if ( dwRet == NO_ERROR ) { printf( "dwNumEntries = %u\n", pIfTable->dwNumEntries ); int i=13;//for (unsigned int i=0; i<(pIfTable->dwNumEntries); i++ ) //{ if (pIfTable->table[i].dwType=MIB_IF_TYPE_PPP&&pIfTable->table[i].dwOutOctets>0&&pIfTable->table[i].dwInOctets>0){printf("table[%1d].dwIndex = %u\n",i,(pIfTable->table[i]).dwIndex ); //printf("out = %d\n",pIfTable->table[i].dwOutOctets);//printf("in = %d\n",pIfTable->table[i].dwInOctets);//printf("dwSpeed = %u\n\n",(pIfTable->table[i]).dwSpeed );int recflow=pIfTable->table[i].dwInOctets-last_totle;last_totle=pIfTable->table[i].dwInOctets;printf("下载=%dB\n",recflow);}//}} else { printf( "Some error occured!\n" ); } } else { printf( "Memory allocate failue\n" ); } } else { printf( "Some error occured!\n" ); } return last_totle;}int main( ) { int last_totle=0;while(1){Sleep(2000);system("cls");last_totle=wangka(last_totle);}return 0; }  


原创粉丝点击