求有流量时才计时的网络计时器
来源:百度知道 编辑:UC知道 时间:2024/05/28 07:16:57
下面是基于ace定时器写的网络流量计算代码。你只需要把里面的时间间隔设为你需要的,比如1秒。然后定义一个时间变量,只在每次有流量的时候进行累加,就是网络速度不为0的时候。不过这个是算电脑上网卡流量的~还需要ace的库才可以跑~代码如下:
用这个要先配置好ace,其实不用ace的话直接在个while里面sleep几秒再用handle_timeout也是可以的
#include "ace/Reactor.h"
#include <windows.h>
#include "Iphlpapi.h"
#include "iprtrmib.h"
#include <iostream> //清屏
#include "ace/Event_Handler.h"
#include "ace/Timer_Heap_T.h"
#include "ace/Timer_Queue_Adapters.h"
typedef ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Null_Mutex> Upcall;
typedef ACE_Timer_Heap_T<ACE_Event_Handler *,Upcall,ACE_Null_Mutex> Timer_Heap;
//typedef ACE_Timer_Heap_Iterator_T<ACE_Event_Handler *,Upcall,ACE_Null_Mutex> Timer_Heap_Iterator;
typedef ACE_Thread_Timer_Queue_Adapter<Timer_Heap> Thread_Timer_Queue;
//DWORD inde