统计流过本机网卡的网络总流量,mfc 有没有提供什么函数可以直接获得的?还是必须要捕获流经网卡的每个数据包进行分析?统计一个局域网内 的总流量是不是和统计本机流量是一个道理?只不过让程序在局域网出口运行就行了?有没有统计流量的例子
解决方案 »
- 请教 RichEdit5.0 打印问题,急急急!
- DLL的动态加载可以取代DLL的延时加载吗?
- 现金300求高人写个小项目(散发)
- 怎样动态生成菜单(不是弹出菜单)?
- 对话框程序,运行后在桌面底部鼠标右键本来有“关闭、还原”这些菜单的,边框设置为none后没了,怎么设置才能让它出来?谢谢!
- 【一直没有解决的老问题】OnLButtonDown中得到的点的座标要转换为在 整个ScrollView中的座标
- SQL语句中用MAX函数不可以,但是用COUNT就没问题,什么道理?
- 请问有没有关于CAD的二次开发的资料?
- 请问如何使我的程序保持在窗口最前端?
- 窗口问题,请指教?
- inno setup 创建菜单项的脚本是怎么样的?
- MFC中如何实现多个数据的输入输出
MIB_IFROW ifMib;
ifMib.dwIndex = 0; // 如果你的网卡是第一个网络接口。
GetIfEntry(&ifMib); // 调用完毕后,就会将ifMib中的其它成员数据添好了
ifMib结构
typedef struct _MIB_IFROW {
WCHAR wszName[MAX_INTERFACE_NAME_LEN];
DWORD dwIndex; // index of the interface
DWORD dwType; // type of interface
DWORD dwMtu; // max transmission unit
DWORD dwSpeed; // speed of the interface
DWORD dwPhysAddrLen; // length of physical address
BYTE bPhysAddr[MAXLEN_PHYSADDR]; // physical address of adapter
DWORD dwAdminStatus; // administrative status
DWORD dwOperStatus; // operational status
DWORD dwLastChange; // last time operational status changed
DWORD dwInOctets; // octets received
DWORD dwInUcastPkts; // unicast packets received
DWORD dwInNUcastPkts; // non-unicast packets received
DWORD dwInDiscards; // received packets discarded
DWORD dwInErrors; // erroneous packets received
DWORD dwInUnknownProtos; // unknown protocol packets received
DWORD dwOutOctets; // octets sent
DWORD dwOutUcastPkts; // unicast packets sent
DWORD dwOutNUcastPkts; // non-unicast packets sent
DWORD dwOutDiscards; // outgoing packets discarded
DWORD dwOutErrors; // erroneous packets sent
DWORD dwOutQLen; // output queue length
DWORD dwDescrLen; // length of bDescr member
BYTE bDescr[MAXLEN_IFDESCR]; // interface description
} MIB_IFROW,*PMIB_IFROW;
MIB_IFROW ifMib;
ifMib.dwIndex = ifTable->table[i].dwIndex; //(ÕâÀïµÄ2ÊÇÄãµÄÕæʵÍø¿¨)
GetIfEntry(&ifMib);
DWORD AllOut=ifMib.dwOutOctets/1024; //³öÁ÷Á¿
DWORD AllIn=ifMib.dwInOctets/1024; //½øÁ÷Á¿
DWORD Speed = ifMib.dwSpeed;
CString szMsg;
szMsg.Format("Out:%d,In:%d,Speed:%d",AllOut,AllIn,Speed);
AfxMessageBox(szMsg);
刚才测试了一下:
得到的数据是 Out:10054,In:62089,100000000
我机子开了近5个小时,也就是说这5个小时内发送的流量为 10054 KB,下载了 62089 KB,机子为百兆网卡,对么?