求可以统计网络流量的VC代码,就象是金山网镖下面的那样。。接收××K,发送××K,那种,会的千万帮忙阿。。。。 
现在作个东西,需要统计现在的网络流量。是累加的,在VC++中实现 
希望高手帮忙,谢谢了 
--------------------------------------------------------------- 
 
winpcap有个统计模式,可以很好解决你的问题 
--------------------------------------------------------------- 
 
BOOL  Network() 

           DWORD                          dwIndex; 
           DWORD                          dwNumber; 
           DWORD                          dwResult; 
           ULONG                          OutBufLen; 
           IP_ADAPTER_INFO      AdapterInfo; 
       PIP_ADDR_STRING      pAddrString; 
               PIP_ADAPTER_INFO    pAdapterNext; 
           MIB_IFROW                  IfRow; 
 
           OutBufLen  =  sizeof(IP_ADAPTER_INFO); 
           dwResult    =  GetAdaptersInfo(&AdapterInfo,&OutBufLen); 
           if(dwResult  ==  ERROR_BUFFER_OVERFLOW) 
           { 
                       GetAdaptersInfo(&AdapterInfo,&OutBufLen); 
           } 
           else  if            (dwResult  !=  ERROR_SUCCESS) 
           { 
                       printf("GetAdaptersInfo  Error:  %d/n",GetLastError()); 
                       return  FALSE; 
           } 
 
           printf("/t/t===  Network  Interface  ===/n/n"); 
           pAdapterNext  =  &AdapterInfo; 
           while(pAdapterNext  !=  NULL) 
           { 
                       printf("AdapterName:/t    %s/n",pAdapterNext->AdapterName); 
                       printf("Description:/t    %s/n",pAdapterNext->Description); 
                       dwIndex  =  pAdapterNext->Index; 
                       printf("Address:/t    "); 
               for(dwNumber  =  0;dwNumber  <  pAdapterNext->AddressLength  -  1;  dwNumber++) 
                       { 
                                   printf("%.2X-",pAdapterNext->Address[dwNumber]); 
                       } 
                       printf("%.2X/n",pAdapterNext->Address[dwNumber]); 
 
                       printf("Type:/t/t    "); 
                       switch(pAdapterNext->Type) 
                       { 
                       case  MIB_IF_TYPE_OTHER: 
                                   printf("Other/n"); 
                                   break; 
                       case  MIB_IF_TYPE_ETHERNET: 
                                   printf("Ethernet/n"); 
                                   break; 
                       case  MIB_IF_TYPE_FDDI: 
                                   printf("FDDI/n"); 
                                   break; 
                       case  MIB_IF_TYPE_PPP: 
                                   printf("PPP/n"); 
                                   break; 
                       case  MIB_IF_TYPE_LOOPBACK: 
                                   printf("LoopBack/n"); 
                                   break; 
                       case  MIB_IF_TYPE_SLIP: 
                                   printf("Slip/n"); 
                                   break; 
                       default: 
                                   printf("/n"); 
                                   break; 
                       } 
 
                       printf("IpAddressList:/t    %s/t/t%s/n","IP  Address","Subnet  Mask"); 
                       pAddrString  =  &pAdapterNext->IpAddressList; 
                       while(pAddrString  !=  NULL) 
                       { 
                                   printf("/t/t    %-15s/t",pAddrString->IpAddress.String); 
                                   printf("%s/n",pAddrString->IpMask.String); 
                                   pAddrString  =  pAddrString->Next; 
                       } 
 
                       pAddrString  =  &pAdapterNext->GatewayList; 
                       printf("GatewayList:/t    %s/n",pAddrString->IpAddress.String); 
                       pAddrString  =  pAddrString->Next; 
                       while(pAddrString  !=  NULL) 
                       { 
                               printf("/t/t    %s/n",pAddrString->IpAddress.String); 
                                 pAddrString  =  pAddrString->Next; 
                       } 
 
                       if(pAdapterNext->DhcpEnabled  !=  0) 
                       { 
                                   printf("DhcpServer:/t    %s/n",pAdapterNext->DhcpServer.IpAddress.String); 
                                   pAddrString  =  pAdapterNext->DhcpServer.Next; 
                                   while(pAddrString  !=  NULL) 
                                   { 
                                               printf("/t/t/t    %s/n",pAddrString->IpAddress); 
                                               pAddrString  =  pAddrString->Next; 
                                   } 
                       } 
 
                       if(pAdapterNext->HaveWins  !=  0) 
                       { 
                                   printf("PrimaryWinsSvr:      %s/n",pAdapterNext->PrimaryWinsServer); 
                                   printf("SecondaryWinsSvr:  %s/n",pAdapterNext->SecondaryWinsServer); 
                       } 
 
                       printf("LeaseObtained:/t    %s",asctime(gmtime(&pAdapterNext->LeaseObtained))); 
                       printf("LeaseExpires:/t    %s/n",asctime(gmtime(&pAdapterNext->LeaseExpires))); 
 
                       IfRow.dwIndex  =  dwIndex; 
                       if((dwResult    =  GetIfEntry(&IfRow))  !=  NO_ERROR) 
                       { 
                                   printf("GetIfEntry  Error:  %d/n",dwResult); 
                                   break; 
                       } 
 
                       printf("MTU:/t/t    %d/n",IfRow.dwMtu); 
                       printf("Speed:/t/t    %d  Kbps/n",IfRow.dwSpeed/1000); 
                       printf("OperStatus:/t    "); 
                       switch(IfRow.dwOperStatus) 
                       { 
                       case  MIB_IF_OPER_STATUS_NON_OPERATIONAL: 
                                   printf("LAN  Adapter  Disabled/n"); 
                                   break; 
                       case  MIB_IF_OPER_STATUS_UNREACHABLE: 
                                   printf("WAN  Adapter  Disconnected/n"); 
                                   break; 
                       case  MIB_IF_OPER_STATUS_DISCONNECTED: 
                                   printf("LAN  Adapters  Disconnected  or  WAN  Adapters  no  Carrier/n"); 
                                   break; 
                       case  MIB_IF_OPER_STATUS_CONNECTING: 
                                   printf("WAN  Adapter  Connecting/n"); 
                                   break; 
                       case  MIB_IF_OPER_STATUS_CONNECTED: 
                                   printf("WAN  Adapter  Connected/n"); 
                                   break; 
                       case  MIB_IF_OPER_STATUS_OPERATIONAL: 
                                   printf("LAN  Adapter  Default  Status/n"); 
                                   break; 
                       default: 
                                   printf("/n"); 
                                   break; 
                       } 
                       printf("Unknown  Protocol:  %d/n/n",IfRow.dwInUnknownProtos); 
 
                       printf("/t%12s%12s%10s/t%s/n","Unicast","NUnicast","Error","Bytes"); 
                       printf("%s/t%12d%12d%10d/t%d/n","Send:",IfRow.dwOutUcastPkts,IfRow.dwOutNUcastPkts,IfRow.dwOutErrors,IfRow.dwOutOctets); 
                       printf("%s%12d%12d%10d/t%d/n","Receive:",IfRow.dwInUcastPkts,IfRow.dwInNUcastPkts,IfRow.dwInErrors,IfRow.dwInOctets); 
                       printf("%s/t%12d%12d%10d/t%d/n","Total:", 
                                         IfRow.dwInUcastPkts    +  IfRow.dwOutUcastPkts, 
                                         IfRow.dwInNUcastPkts  +  IfRow.dwOutNUcastPkts, 
                                         IfRow.dwInErrors          +  IfRow.dwOutErrors, 
                                         IfRow.dwInOctets          +  IfRow.dwOutOctets); 
                        
                       pAdapterNext  =  pAdapterNext->Next; 
           } 
 
           return  TRUE; 
}

求可以统计网络流量的VC代码,就象是金山网镖下面的那样相关推荐

  1. Linux中一行命令查看网卡流量、统计网络流量的各种实现方法

    Linux中一行命令查看网卡流量.统计网络流量的各种实现方法. 方法一.nload工具 源码包路径: wget http://heanet.dl.sourceforge.net/project/nlo ...

  2. Android统计网络流量

    统计网络流量,可用ActivityManager或PackageManager获取各个应用的uid,然后再用TrafficStats获取.示例如下: private void printTraffic ...

  3. 移动端测试 APP启动性能分析 WebView性能分析 H5性能分析 卡顿分析 帧分析 CPU统计 网络流量分析 耗电量指标 弱网测试 健壮性测试 兼容性测试 Amdahl

    Android官网使用指南性能:https://developer.android.com/topic/performance 一.APP启动性能分析 APP的启动过程 调用起APP.创建一个空白窗口 ...

  4. snmp 统计网络流量

    最近做个项目有关于SNMP的东西, 一个简单的用net-snmp获取交换机端口流量的问题,在GOOOGLE了半天后,才明天是怎么回事. 一开始以为交换机里会直接有个表示某个端口流量的MIB值,直接调用 ...

  5. ifstat网络流量监控之/proc/net/dev文件

    之前介绍过ifstat获取网络流量监控的代码ifstat源码阅读,ifstat获取数据是读取的/proc/net/dev,但是/proc/net/dev文件里面究竟是什么内容,打开发现一团乱麻. In ...

  6. php怎么统计流量,PHP学习笔记:php网络流量统计系统

    PHP学习笔记:php网络流量统计系统 说明:代码来源<PHP和MySQL Web应用开发>一书,还有就是代码有些是经过修改的,经过我的测验全部都可以用. 这里面ip地址显示的正常的,我电 ...

  7. jsch连接mysql_求用jsch网络工具包通过ssh连接远程oracle数据库并发送sql操作语句(数据库在unix上)java代码例子...

    求用jsch网络工具包通过ssh连接远程oracle数据库(数据库在unix上)java代码例子:为何jsch发送:sqlplususer/pwd@service此命令,却没有结果返回啊.下面是代码: ...

  8. 网络流量统计using ADB

    /proc/net/xt_qtaguid/stats 基本覆盖目前所有机型且统计流量全面 adb shell cat /proc/net/xt_qtaguid/stats | grep (uid#) ...

  9. 网络空间安全 恶意流量和恶意代码 结合Wireshark初步分析(一)

    网络空间安全 恶意流量和恶意代码 学习入门(一) 说明: 希望通过使用 Wireshark 分析数据包,来更好理解网络恶意流量和恶意代码的作用流程和原理,同时也分享给大家. 一.概念介绍 PCAP 是 ...

最新文章

  1. 【每日一算法】合并两个有序数组
  2. 2018年4月22日笔记
  3. 从零开始学习Kafka
  4. 具体解释VB中连接access数据库的几种方法
  5. python棋盘格_干货必看 | Python的turtle库之经典棋盘格
  6. ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?
  7. echart实现3d地图_3D飞线效果——让线“飞”起来的秘密
  8. 全局事件总线 (GlobalEventBus)
  9. 广告系统中的Exploitation and Exploration(一)
  10. 【案例】做一个电话簿(二)
  11. A3的PDF试卷怎么对半拆分成A4打印?
  12. linux中rpm -q命令,Linux中的RPM
  13. java 多线程高级,java 多线程高级(传统多线程)
  14. 编写脚本程序程序,将当前目录下所有的.txt文件更名为.doc文件。
  15. UIImageView绘制圆形图片
  16. Fatal error: Cannot use 'Object' as class name as it is reserved in xxx/Object.php on line 77
  17. 少侠1216资源共享
  18. go配置sublime text时使用MarGo报错及解决方法
  19. F2FS源码分析-1.6 [F2FS 元数据布局部分] Segment Summary Area-SSA结构
  20. openssl给内网IP生成ca证书(ssl证书)

热门文章

  1. 一些常用的「a」标签分享方法
  2. AAAI 2023 Fello名单出炉,李学龙教授完成AI 领域Fellow大满贯!
  3. objective-c复制
  4. 2022茶艺师(中级)特种作业证考试题库及答案
  5. c#使用PortableDeviceApiLib读取便携式设备(WPD:Windows Portable Devices)信息
  6. C语言中关于除法和取余的理解
  7. sql根据指定符号拆分字符串表函数
  8. Mysql连接命令join
  9. Error:Skipped due to earlier error
  10. 将excel的单元格日期格式转换成文本格式