函数
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;
}