社区
网络编程
帖子详情
如何编程得到网络的带宽?
cwanter
2003-03-30 12:38:21
如题
...全文
120
4
打赏
收藏
如何编程得到网络的带宽?
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Gargamel
2003-03-31
打赏
举报
回复
如果想得到本机的网络连接带宽(速度),98以上系统可使用IP助手函数
GetAdaptersInfo()
GetIfTable()可以从操作系统维护的MIB库中读出本机各个接口的当前信息,如接口数目、类型、速率、物理地址、接收/发送字节数、错语字节数等等等等。
根据接口类型可以推断出接口的种类,如MIB_IF_TYPE_ETHERNET是指以太网口,MIB_IF_TYPE_TOKENRING是指令牌环网类型等等。而modem使用PPP协议接入网络,对应接口类型为MIB_IF_TYPE_PPP (值为23)。
在程序中你读出本机所有接口的信息后,可以根据接口类型推断出该接口是否是指modem/Ethernet接口,接口速率即为你所想知道的网络的连接速率。
以下是我写的一个小例子,示范getiftable()的用法,列举本机当前所有接口的类型及速率及索引号。
如有不周之处,请各位指出。
// GetIfTable.cpp
// A sample try to get the speed of a modem by using GetIfTable() func
#include <windows.h>
#include <iphlpapi.h>
#include <stdio.h>
#pragma comment ( lib, "iphlpapi.lib" )
int main( void )
{
MIB_IFTABLE *pIfTable = NULL;
ULONG dwSize = 0;
DWORD dwRet;
printf( "This program try to get the speed of a modem by using GetIfTable()\n" );
dwRet = GetIfTable( pIfTable, &dwSize, TRUE );
if ( dwRet == ERROR_INSUFFICIENT_BUFFER )
{
pIfTable = ( MIB_IFTABLE * ) new char[dwSize];
if ( pIfTable != NULL )
{
dwRet = GetIfTable( pIfTable, &dwSize, TRUE );
if ( dwRet == NO_ERROR )
{
printf( "dwNumEntries = %u\n", pIfTable->dwNumEntries );
for ( int i=0; i<pIfTable->dwNumEntries; i++ )
{
printf( "table[%1d].dwIndex = %u\n",
i,
(pIfTable->table[i]).dwIndex );
printf( " dwType = %u\n",
(pIfTable->table[i]).dwType );
printf( " dwSpeed = %u\n",
(pIfTable->table[i]).dwSpeed );
}
}
else
{
printf( "Some error occured!\n" );
}
}
else
{
printf( "Memory allocate failue\n" );
}
}
else
{
printf( "Some error occured!\n" );
}
return 0;
}
jemmylau
2003-03-31
打赏
举报
回复
应该是指上网速度,对吧?
jemmylau
2003-03-31
打赏
举报
回复
如何得到拨号网络传输速度
http://my.li3.net/gym/jiqiao/VC/netware/68.txt
prettywolf
2003-03-30
打赏
举报
回复
什么带宽?
你的MODEM连到电信?
由于上网方式不同,要设计通用的比较难。
100%利用
网络
带宽
工具源代码(C#版)
本项目"100%利用
网络
带宽
工具源代码(C#版)"提供了一个C#
编程
语言实现的解决方案,旨在帮助用户最大化其
网络
性能。 C#是一种面向对象的
编程
语言,由微软公司开发,广泛用于构建Windows桌面应用、Web应用以及游戏等。...
VC++ 网卡
带宽
的测试工具
在IT领域,
网络
带宽
是衡量
网络
连接速度的重要指标,通常以比特每秒(bps)为单位。在Windows操作系统上,开发人员可以使用各种
编程
语言,如VC++,来创建工具来测试
网络
接口控制器(NIC)的
带宽
。本文将详细讲解如何...
嵌入式系统/ARM技术中的高
带宽
嵌入式应用中的可
编程
的总线
带宽
分配方案
该系统允许系统开发者根据实际应用需求动态调整总线
带宽
,确保关键任务
得到
所需的
带宽
,同时优化其他并发操作的性能。这样的机制对于那些需要快速响应和高数据吞吐量的嵌入式应用至关重要,例如工业HMI
网络
显示、POS...
基于公平性的列车
网络
用户
带宽
分配模型研究.pdf
这篇研究论文主要探讨了如何在列车
网络
环境中实现用户
带宽
分配的公平性,以确保所有用户都能获得满意的服务质量。 首先,论文将列车
网络
视为一个无线网状网,这是一种自组织的
网络
架构,其中各个节点(如列车车厢)...
大型文件传输
在IT领域,大型文件传输是一项重要的技术挑战,尤其是在
网络
带宽
有限、文件体积庞大的情况下。本项目提供的就是一个自编写的大型文件传输实例,通过使用多线程和套接字(Socket)技术,实现了高效稳定的局域网文件...
网络编程
18,358
社区成员
64,186
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章