社区
网络编程
帖子详情
如何编程得到网络的带宽?
cwanter
2003-03-30 12:38:21
如题
...全文
105
4
打赏
收藏
如何编程得到网络的带宽?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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连到电信?
由于上网方式不同,要设计通用的比较难。
IBMSPSSStatistics仿真分析获得洞察
摘要:本文通过IBMSPSSStatistics中的Python
编程
模块对原始AT&T
网络
数据进行预处理,然后结合线性模型和蒙特卡洛仿真分析,可以在原始少量数据的基础上大量仿真模拟企业的真实
网络
带宽
使用情况,从而为企业的带......
C++
网络
编程
C++
网络
编程
利用iperf
网络
带宽
测试工具看多线程及多核
编程
从iperf测试
网络
带宽
,可以测试
得到
硬件平台单核访问内存
带宽
、外部
网络
收发性能,如果在单线程可以满足要求的情况下,尽量不要使用多线程
编程
提升linux tcp
网络
带宽
措施
提升
带宽
,对于客户端来说,就是能够在同样时间内,获取更多的数据。总的来说从两个方面考虑: 1.服务器单位时间发送更多的数据过来 2.客户端更快的处理数据要让服务器发送更多的数据,比较容易想到的办法就是开多...
SDN-
网络
可
编程
-1(详述)
网络
可
编程
性最初是指
网络
管理人员可以通过命令行对设备进行配置,后来有了可
编程
路由器、NetFPGA等设备,这些设备的可
编程
性主要是对设备本身硬件电路级的可
编程
,即开发人员是通过编译代码直接控制这些硬件来实现...
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章