Previous topicNext topic
Help > XEngine_NetHelp > NetHelp_APIFlow > APIFlow_NetGet >
APIFlow_NetGet_All

函数

APIFlow_NetGet_All

功能

获取网络流量信息

语法

BOOL APIFlow_NetGet_All(XSOCKET_FLOWSTATE *pSt_FlowState,LPCSTR lpszDevName = NULL,int nNumEntries = 0)

参数

  参数.一:pSt_FlowState
   In/Out:Out
   类型:数据结构指针
   可空:N
   意思:网络流量信息结构体
  参数.二:lpszEth_Name
   In/Out:In
   类型:常量字符指针
   可空:Y
   意思:要获取的网卡名称,比如:eth0
  参数.三:nNumEntries
   In/Out:In
   类型:整数型
   可空:Y
   意思:要获取的网卡编号

返回值

类型:逻辑型
意思:是否成功

备注

最后两个参数不能同时为空,每秒获取一次,这一次减去上一次的流量就得到当前每秒流量

示例

int Test_NetFlow()
{
    //网络流量
    for (int i = 0; i < 2; i++)
    {
        NETXAPI_FLOWSTATE st_FlowState;
        memset(&st_FlowState, '\0', sizeof(NETXAPI_FLOWSTATE));

#ifdef _WINDOWS
        NetXApi_NetFlow_GetAll(&st_FlowState, "Realtek PCIe GBE Family Controller");
        
#else
        NetXApi_NetFlow_GetAll(&st_FlowState, "ens33");
#endif
        
        printf("Send:%llu Recv:%llu\n", st_FlowState.st_SendPackets.ullBytes, st_FlowState.st_RecvPackets.ullBytes);
        std::this_thread::sleep_for(std::chrono::seconds(1));
    }
    return 0;
}