加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何获得当前带宽(下载)速度?

发布时间:2020-12-15 04:10:26 所属栏目:大数据 来源:网络整理
导读:如何使用IdTCPServer或IdTCPClient获得当前带宽速度? 我想知道,客户端从服务器下载数据的速度有多快? 例如:下载速度:450 kbps 解决方法 将处理程序分配给连接的TIdTCPConnection对象的OnWorkBegin,OnWork和OnWorkEnd事件. OnWorkBegin事件具有AWorkCount
如何使用IdTCPServer或IdTCPClient获得当前带宽速度?

我想知道,客户端从服务器下载数据的速度有多快?

例如:下载速度:450 kbps

解决方法

将处理程序分配给连接的TIdTCPConnection对象的OnWorkBegin,OnWork和OnWorkEnd事件. OnWorkBegin事件具有AWorkCountMax参数,该参数为您提供要传输的总预期字节数(如果提前知道). OnWork事件有一个AWorkCount参数,它为您提供自OnWorkBegin事件触发以来实际传输了多少字节的运行总计.

每当触发OnWork事件时,从当前AWorkCount值中减去先前的AWorkCount值,以确定在两个事件之间传输了多少字节,然后将该值除以两个事件之间经过的时间量.使用该最终值,您可以根据需要计算b / sec,kb / sec,mb / sec等.

根据您发送/接收数据的准确程度,您可能必须手动调用TIdTCPConnection的BeginWork()和EndWork()方法才能使OnWork …事件开始触发. Indy的大多数读/写方法都不会在内部调用Begin / EndWork().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读