导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC新技术
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC++技术资源

200 分求拨号上网后如何获取连结速度

SGUav 2002-07-25 08:31:21

如题,就是每秒接收了多少个字节,发送了多少字节.

我在网上找了好久了,找到的一个满是 bug 的,一个是要付钱的函数包.

谢谢!
...全文
23 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
SGUav 2002-10-04
谢谢大家!
回复
SGUav 2002-10-04
WangAQ(老王) :
非常感谢您!Win XP 下通过。尽管还有一个遗憾是在 Win98 下不能使用该方法。同样感谢 Hankuu!

不过我还有两个问题要请教您:
1. 如何将 Rasapi32.dll或是其它 DLL 的输出表导出从而发现某个函数?
2. 发现某个在 DLL 中有定义的而 MSDN 中没有定义的函数应当如何使用,依据是什么?
回复
WangAQ 2002-10-04
我写的简单测试程序如下:
#include "ras.h"
.....
.....

RAS_STATS pStats;
.....
hrasconn=RasDial(...);
.....
pStats.dwSize = sizeof(RAS_STATS);
RasGetConnectionStatistics(hrasconn,&pStats);
wsprintf( szBuf, "%d",pStats.dwBps );
.....
RasHangup(...);
回复
WangAQ 2002-10-04
抱歉,误导了你。我想当然的认为RasGetConnectStatus能完成你的目标,经你一问,仔细研究了一下,不行。
Hankuu给出了一个很有意思的函数,RasGetLinkStatistics,我是在Win2000下装的VC6,我的MSDN上也没有这

个函数,但把Rasapi32.dll的输出表倒出来发现有这个函数,而且还发现一个:RasGetConnectionStatistics


到微软的MSDN网站上去查这个函数,原形如下:
DWORD APIENTRY RasGetConnectionStatistics(HRASCONN hRasConn,

RAS_STATS *lpStatistics);
以及RAS_STATS结构定义如下:
typedef struct _RAS_STATS
{
DWORD dwSize;
DWORD dwBytesXmited; //发送的字节数
DWORD dwBytesRcved; //接收的字节数
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
DWORD dwBps; //连接速度
DWORD dwConnectDuration;

} RAS_STATS, *PRAS_STATS;

在RAS.H中加上上面两个声明。写个程序测试一下,OK。
win98下不能用这个函数。
装VisualStudio.NET吧,或者更新PlatformSDK,最差也要去买张最新的MSDNLibrary。
这个问题也让我学了一些东西,有问题我们再一起研究吧。
回复
SGUav 2002-10-04
WangAQ(老王) :

RasGetConnectStatus 中两个参数,hrasconn: RAS 连接的句柄;lprasconnstatus 指向结构 RASCONNSTATUS 的指针,在 RASCONNSTATUS 结构中除了另外一个枚举 RASCONNSTATE 外,其他成员的作用均与连接速度无关。那么只能看 RASCONNSTATE ,那么如何由该枚举获得连接速度?

我认为由 RasGetConnectStatus()不可能得到 RAS 当前连接速度,还望赐教,谢谢!
回复
liutang 2002-10-04
向外发送千把个字节,统计一下时间算出速度就可以了,类似于ping。(这是下策,不到万不得已不要用。
回复
WangAQ 2002-10-04
RasGetConnectStatus( HRASCONN, LPRASCONNSTATUS );
看MSDN就知道了。

回复
SGUav 2002-10-03
好消息
闻大侠的 《如何得到拨号网络传输速度》

http://www.ittide.com/document/article/netware/68.html

我应该再试一试
回复
SGUav 2002-10-03
好像是原载于 www.vckbase.com 的,对 hw 表示感谢!太长,在这贴不了。
但我在编译时会出现很多错误
------------------------------------------------------------------


//如何得到拨号上网时的网络速度

(hw整理发表于2002-3-15 23:19:23)


。。。。。。
回复
SGUav 2002-10-03
Hankuu:
谢谢!但是在 MSDN 中找不到对该函数及结构 RAS_STATS 的描述,自然编译时也因为函数未定义而无法通过。另外在 Ras.h 中也没有对该函数的声明。
能否说详细点?
回复
Hankuu 2002-09-01
建立连接后用下面的函数来获取连接状态

DWORD RasGetLinkStatistics (
HRASCONN hRasConn, // handle to connection
DWORD dwSubEntry, // SubEntry for link
RAS_STATS *lpStatistics // buffer to receive statistics
);

在lpStatistics中有给出Bps
回复
qiufuwang 2002-09-01
gz
回复
liuxx 2002-08-31
满是bug的 give me too,OK? thanks.liuyouji@163.com
回复
CppCore 2002-07-25
up
满是bug的能发给我吗?
let me look look?
回复
ty_star 2002-07-25
UP
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……