200 分求拨号上网后如何获取连结速度 如题,就是每秒接收了多少个字节,发送了多少字节.我在网上找了好久了,找到的一个满是 bug 的,一个是要付钱的函数包.谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 up满是bug的能发给我吗?let me look look? 满是bug的 give me too,OK? [email protected] 建立连接后用下面的函数来获取连接状态DWORD RasGetLinkStatistics ( HRASCONN hRasConn, // handle to connection DWORD dwSubEntry, // SubEntry for link RAS_STATS *lpStatistics // buffer to receive statistics);在lpStatistics中有给出Bps Hankuu: 谢谢!但是在 MSDN 中找不到对该函数及结构 RAS_STATS 的描述,自然编译时也因为函数未定义而无法通过。另外在 Ras.h 中也没有对该函数的声明。 能否说详细点? 好像是原载于 www.vckbase.com 的,对 hw 表示感谢!太长,在这贴不了。但我在编译时会出现很多错误------------------------------------------------------------------//如何得到拨号上网时的网络速度(hw整理发表于2002-3-15 23:19:23) 好消息闻大侠的 《如何得到拨号网络传输速度》http://www.ittide.com/document/article/netware/68.html我应该再试一试 RasGetConnectStatus( HRASCONN, LPRASCONNSTATUS );看MSDN就知道了。 向外发送千把个字节,统计一下时间算出速度就可以了,类似于ping。(这是下策,不到万不得已不要用。 WangAQ(老王) :RasGetConnectStatus 中两个参数,hrasconn: RAS 连接的句柄;lprasconnstatus 指向结构 RASCONNSTATUS 的指针,在 RASCONNSTATUS 结构中除了另外一个枚举 RASCONNSTATE 外,其他成员的作用均与连接速度无关。那么只能看 RASCONNSTATE ,那么如何由该枚举获得连接速度?我认为由 RasGetConnectStatus()不可能得到 RAS 当前连接速度,还望赐教,谢谢! 抱歉,误导了你。我想当然的认为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。这个问题也让我学了一些东西,有问题我们再一起研究吧。 我写的简单测试程序如下:#include "ras.h"..........RAS_STATS pStats;.....hrasconn=RasDial(...);.....pStats.dwSize = sizeof(RAS_STATS);RasGetConnectionStatistics(hrasconn,&pStats);wsprintf( szBuf, "%d",pStats.dwBps );.....RasHangup(...); WangAQ(老王) : 非常感谢您!Win XP 下通过。尽管还有一个遗憾是在 Win98 下不能使用该方法。同样感谢 Hankuu!不过我还有两个问题要请教您:1. 如何将 Rasapi32.dll或是其它 DLL 的输出表导出从而发现某个函数?2. 发现某个在 DLL 中有定义的而 MSDN 中没有定义的函数应当如何使用,依据是什么? 关于多线程的问题 不继承CObject 如何动态创建自定义类对象? 程序编译成DEBUG错,而编译成RELEASE一切正常? VC下有没有类似VB的DoEvent()的函数? 大家帮忙:面试题 哪里有表达式计算器的源代码? 如何在MDI通知一个对话框中CEdit刷新. 请问有没有可能用汇编代码读取指令的机器码? 平安夜呀.我日!我日日!我日日日! C#如何调用MFC DLL 请问一个图像算法的问题 一个奇怪的问题(谢绝灌水)
满是bug的能发给我吗?
let me look look?
HRASCONN hRasConn, // handle to connection
DWORD dwSubEntry, // SubEntry for link
RAS_STATS *lpStatistics // buffer to receive statistics
);在lpStatistics中有给出Bps
谢谢!但是在 MSDN 中找不到对该函数及结构 RAS_STATS 的描述,自然编译时也因为函数未定义而无法通过。另外在 Ras.h 中也没有对该函数的声明。
能否说详细点?
但我在编译时会出现很多错误
------------------------------------------------------------------
//如何得到拨号上网时的网络速度(hw整理发表于2002-3-15 23:19:23)
闻大侠的 《如何得到拨号网络传输速度》http://www.ittide.com/document/article/netware/68.html我应该再试一试
看MSDN就知道了。
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。
这个问题也让我学了一些东西,有问题我们再一起研究吧。
#include "ras.h"
.....
.....RAS_STATS pStats;
.....
hrasconn=RasDial(...);
.....
pStats.dwSize = sizeof(RAS_STATS);
RasGetConnectionStatistics(hrasconn,&pStats);
wsprintf( szBuf, "%d",pStats.dwBps );
.....
RasHangup(...);
非常感谢您!Win XP 下通过。尽管还有一个遗憾是在 Win98 下不能使用该方法。同样感谢 Hankuu!不过我还有两个问题要请教您:
1. 如何将 Rasapi32.dll或是其它 DLL 的输出表导出从而发现某个函数?
2. 发现某个在 DLL 中有定义的而 MSDN 中没有定义的函数应当如何使用,依据是什么?