社区
网络编程
帖子详情
如何编程得到网络的带宽?
cwanter
2003-03-30 12:38:21
如题
...全文
111
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#版)
通过设置,将电脑的
网络
性能进行优化,从而能让电脑充分的利用
网络
带宽
,毫无保留。
VC++ 网卡
带宽
的测试工具
VC++ 测试网卡
带宽
是否为千兆,判断当前
网络
连接时10M,100M,还是1G
嵌入式系统/ARM技术中的高
带宽
嵌入式应用中的可
编程
的总线
带宽
分配方案
传统SoC总线架构已不能满足新的联网嵌入式设计对高
带宽
数据流进行实时控制的需求,NetSilicon开发的可
编程
总线
带宽
控制系统可以使多个资源同时访问总线,使其既满足应用要求又不会影响其他重要操作的性能。本文将对该系统的可
编程
总线
带宽
分配方案进行探讨。 32位嵌入式设计越来越要求对
网络
上高
带宽
数据流进行实时控制,特别是在系统级芯片(SoC)层面,以确定性和无争议的方式传输数据和控制信息变得非常重要。各种操作直接处于系统开发者既定的控制之下也很重要,而这在基于总线的SoC设计中并不总是能够实现。 设计者和芯片供应商常常借鉴板级及系统级架构技术,以便在最短的设计时间内以最低的开
基于公平性的列车
网络
用户
带宽
分配模型研究.pdf
基于公平性的列车
网络
用户
带宽
分配模型研究.pdf
大型文件传输
自己写的实现大型文件传输的例子,完整的工程。运行比较稳定,发送采用多线程实现,,局域网的测试发送速度在6.2M每秒。
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章