请教带宽检测的方法

yipulong 2007-04-19 06:20:01
在一个网络线路中要传输多个系统的各种数据,现在我的系统要根据当前线路带宽(没有被其他系统占用的带宽)来决定发送的速度,请问如何实时检测?
如果能给提供点源码将不胜感激!!!
...全文
5872 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yctin 2007-05-09
  • 打赏
  • 举报
回复
我想你没有理解这个方法
这个控制方法可以用在任何传输方式中
所谓的图像可以是任何类型的封包
是一个很好的动态控制流量方法
yipulong 2007-05-09
  • 打赏
  • 举报
回复
图像数据包不受我们控制
yctin 2007-04-28
  • 打赏
  • 举报
回复
我想你有个概念上的问题延时值跟带宽没有多少关系
延时值取决于硬件对讯号处理的耗时
带宽是指通讯谋介可以容纳的数据流量


你应该是做视频软件吧!
你可以在每幅图像的封包加上一个数值,每传一个加一(这是frame_id)
假设每秒传送30幅(30fps)
连续传送5秒后

正常接收端应该收到300幅图像
你只需要比较第1及第300幅图像的接收时间差就可以了

如果第1及第300幅图像的时间差超过5.5(根据网络及电脑配置调整)秒
而且超时现像大于一定时间,恭喜你...带宽不够或网络不稳定

这时接收端可以根据时间差(1,300)计算出需要降速多少
给发送端发一个降速封包了

不需要另外的测试封包
yipulong 2007-04-28
  • 打赏
  • 举报
回复
谢谢关注
目前进度:我设计的方案,首先发送获取对方tick值的包(对方以下简称反射端,是我们的程序,可以提供tick值);然后开始测试,
第一步发送基本延时测试包(暂定包大小为5个字节,一般情况下是极短时间就响应),反射端接收后组包加上它的tick值,反送回来,如果反复5次,去掉最大延时,剩下的4个求平均值,算作基本双向延时。
第二步发送测试包(先设置一个保留带宽供测试使用),包结尾几个字节是有特征的,反射端一样是把接收都组包上它的tick值反送回来;我这里接收只处理后边几个字节是特征字节的报文,算出它到我这的延时(毫秒),再按测试包大小算出理论上的延时,比较测试包是否超出可用带宽
第三步发送检验包(验证第二步里最后一包是否合理),验证合格后把前后2包平均算作当前可用上行带宽。

请大家分析一下,看看可行否?因为工作太忙,这项工作拖的时间较长,现在还没写程序
plax0850 2007-04-27
  • 打赏
  • 举报
回复
我的毕业设计做了一个测试可用带宽和瓶颈链路的。但是得等我毕业后给你。
constantine 2007-04-25
  • 打赏
  • 举报
回复
我不知道你到底做什么系统,个人认为不用考虑这个问题。实时性的东西你要考虑的东西是你最少能做到的最低传送率是多少,而不是考虑现在还有的带宽,如果现在带宽不够,跟再怎么做也没有好效果。在另一个帖里面我已经说了。实际上如果有人bt,那么连网页都很难打开,更别说其他的了,主要还是要看你的数据量。
说说你传送什么东西吧。有的不是考虑带宽问题,而是要用代码自动调节速度的。但是如果是做视频聊天之类的实时性东西就肯定不行,他最多给你提供压缩编码。
yipulong 2007-04-25
  • 打赏
  • 举报
回复
请继续关注
yipulong 2007-04-24
  • 打赏
  • 举报
回复
constantine(飘遥的安吉儿) :那我应该怎么做呢?
constantine 2007-04-23
  • 打赏
  • 举报
回复
不现实的做法,而且实时性不好,这个东西肯定一直变的。
yipulong 2007-04-23
  • 打赏
  • 举报
回复
因为以前没有搞过相关的工作现在很迷茫,现在已知在网上查相关资料。
我能想到的就是从一端发送数据包到另一端,然后根据响应速度判断当前带宽大概是多少,但是如何判断呢?
yipulong 2007-04-23
  • 打赏
  • 举报
回复
to huzhangyou(信仰(http://www.libing.net.cn)) :
第3条,确实如你说,我就是想得到所有链路节点的最小带宽,从而确定我的发送速度;请你继续给关注下,看如何实现好,谢谢
huzhangyou 2007-04-21
  • 打赏
  • 举报
回复
以下可以作为参考:
1、客户端的上下行带宽,都取决于客户端本身和服务器两者,取较小者。
2、服务器的上下行带宽,同上,并且考虑到带宽分配问题,即不同的客户端可能使用不同的上下行带宽。
3、在intenet上,中间要经过很多链路,最大带宽就是这些链路中带宽最小的那个。

你应该看一些关于QOS方面的资料
huzhangyou 2007-04-21
  • 打赏
  • 举报
回复
可能要使用负载均衡的一些技术
具体的关注一下
我找一下资料看看 做个记号
sanyou98 2007-04-20
  • 打赏
  • 举报
回复
关注。。。。。。
newkaka1981 2007-04-19
  • 打赏
  • 举报
回复
这个协议可能对你有用,可以去看一下:

Character Generator Protocol(字符生成协议)

当一个字符生成协议客户(Character Generator标签)连到一台服务器时,服务器就会像疯了一样往客户机发送字符,这些字符一般而言是ASCII里的英文大小写字母、数字及符号, NST的Character Generator标签在收到1024个字符并显示出来以后就会停下来歇口气儿,但大家请注意,只要联接不断开服务器就会不知疲倦地一直发送下去,字符生成协议可以用TCP也可以用UDP,它的主要功能是粗略计算两个主机间的联接速率。在主机名称底下有一行字符,平时是写着“READY”,注意到了吗?在联接过程中这儿会显示每秒收到的字符数,有个情况需要注意,在测试过程中我的NST和服务器之间的速率达到了11K字节每秒,相当于88K比特每秒(bps),这超过了MODEM 56K的极限速度。这种情况的产生,是由于MODEM使用了压缩算法,使得实际速率大于线速率。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧