求可以统计网络流量的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. 网站自己生成专题php,phpcms生成专题的同时自动生成专题相关文章
  3. 遍历页面上所有的textBox
  4. as3分页——页数多了后自动居中类似谷歌分页
  5. spring-基于注解的aop开发(快速入门)
  6. hdu 4864(2) 线段树
  7. Java技术:SpringBoot集成FreeMarker生成word文件
  8. Python学习日记(3)Python内建函数map()、filter()和匿名函数表达式
  9. Linux环境Eclipse + Tomcat + MySQL 构造J2EE方法开发环境
  10. 【单目标优化求解】基于matlab改进的遗传算法求解单目标优化问题【含Matlab源码 1834期】
  11. Android 接入阿里云推送com.aliyun.ams:alicloud-android-push:3.7.4步骤(二)
  12. 身份证号码检验 js
  13. 个人博客图片管理(方便管理,大家忽略)
  14. outlook ios日历_如何从Outlook 2013中的日历中删除假期
  15. 使用Retrofit的过程中遇到 type xxx.xxx.xxxdoes not have type parameters
  16. 【最新】QQ机器人插件
  17. 【IOT】NB-IOT模块连接Onenet物联网云平台2020年实测
  18. hdu2075 A|B?(C语言)
  19. IDEA + github pull request + teamcity运用
  20. 配置mldonkey

热门文章

  1. CCF 模拟题,公共钥匙盒
  2. 分享一个使用HTML+js制作爱心代码
  3. 贝叶斯优化 Bayesian Optimization
  4. 统计|如何理解和进行两个总体方差的假设检验
  5. 如何将自己的网页上传让别人都可以搜索到,如何建站
  6. OllyDbg 使用笔记 (一)
  7. 百度地图 坐标偏移、覆盖物偏移解决方案
  8. Linux进程调用execve,实验:从整理上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和...
  9. socket协议基础知识
  10. python中selenium模块驱动谷歌详解