要作一个本机网络流量统计的程序(c或者是c++的)

ty263 2004-10-11 07:20:27
小弟我是学生,在教育网内。
最近学校发坏,每天限制流量2000MB。超载要封帐号,还要写检查,还要盖章,然后还要再封3天。
我20天内已经被封了3次了,怕了。

请高人们给个代码,我加在windows服务中,这样就不用再写检查了。
最好是能分别统计出上传和下载的流量。
重点是小弟我想向大家学习一下。

没有分了,以后一天加10分。
多谢!!!!!!
...全文
503 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
black_fox 2004-10-12
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include <windows.h>
#include <Iphlpapi.h>
#pragma comment(lib, "Iphlpapi.lib")
int main(int argc, char* argv[])
{
PMIB_IFTABLE m_pTable = NULL;
DWORD m_dwAdapters = 0;
ULONG uRetCode = GetIfTable(m_pTable, &m_dwAdapters, TRUE);
if (uRetCode == ERROR_NOT_SUPPORTED)
{
return (-1);
}

if (uRetCode == ERROR_INSUFFICIENT_BUFFER)
{
m_pTable = (PMIB_IFTABLE)new BYTE[65535];//MIB_IFTABLE[m_dwAdapters];
}

DWORD dwLastIn = 0;
DWORD dwLastOut = 0;
DWORD dwBandIn = 0;
DWORD dwBandOut = 0;

do
{

GetIfTable(m_pTable, &m_dwAdapters, TRUE);
DWORD dwInOctets = 0;
DWORD dwOutOctets = 0;
for (UINT i = 0; i < m_pTable->dwNumEntries; i++)
{
MIB_IFROW Row = m_pTable->table[i];
dwInOctets += Row.dwInOctets;
dwOutOctets += Row.dwOutOctets;
}

dwBandIn = dwInOctets - dwLastIn;
dwBandOut = dwOutOctets - dwLastOut;
if (dwLastIn <= 0)
{
dwBandIn = 0;
}
else
{
dwBandIn = dwBandIn / 1024;
}

if (dwLastOut <= 0)
{
dwBandOut = 0;
}
else
{
dwBandOut = dwBandOut / 1024;
}

dwLastIn = dwInOctets;
dwLastOut = dwOutOctets;

printf("收到字节: %u bytes\n", dwLastIn);
printf("发送字节: %u bytes\n", dwLastOut);
printf("下行速度: %u KB\n", dwBandIn);
printf("上行速度: %u KB\n", dwBandOut);
printf("--------------------------\n");
Sleep(1000);
}while (TRUE);

delete [] m_pTable;
return (0);
laomai 2004-10-12
  • 打赏
  • 举报
回复
你一天的流量能超过2000M?就是下A片也不用这么多啊!
o1n 2004-10-11
  • 打赏
  • 举报
回复
http://www.skycn.com/soft/3571.html
o1n 2004-10-11
  • 打赏
  • 举报
回复
http://tts.whidc.com/etweb/soft/472.htm
btbq 2004-10-11
  • 打赏
  • 举报
回复
up
renheihei 2004-10-11
  • 打赏
  • 举报
回复
有没有这样的软件呢?我不知道,呵呵

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧