(急~~) 流量方面的问题,大家帮忙看看!!

mohamoha 2004-05-07 07:43:38
开个2个线程
一个用于数据的压缩,数据是一些实时数据,压缩后push到一个队列里面等待发送;
另一个线程用来发送队列里的数据,数据量大小不定;

由于数据量变化比较大,而且有一定实时的要求
我打算能够根据网络情况来处理压缩数据的强度
但网速不好时(队列数据堆积),加大压缩强度;
高速网络则减小压缩强度,让数据更快的发送出去。

不知道小弟讲清楚没有,主要是关于发送速度的测定,怎么能比较好测呢?
我的想法是算出当前队列里的数据发送所要时间,找到一个合适值,来调整压缩强度
,不知道可不可行?

大家有什么好的方法和建议,或有类似的经验的朋友希望帮帮忙
谢过大家了先
...全文
70 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
halk 2004-05-07
补充一下,按照你的做法,程序中两个线程可能会同时操作队列。线程同步问题要小心处理,以免破坏了完整性。
  • 打赏
  • 举报
回复
halk 2004-05-07
我的想法是算出当前队列里的数据发送所要时间,找到一个合适值,来调整压缩强度
,不知道可不可行?
--------------------------
这样当然可以。但是如果网络带宽不稳定,这只能是个瞬时值,可能不能太可靠的估计。
我建议再增加一个调节压缩强度的参量,就是队列的长短。待发数据push进队列,发送后从队列中清除已发送数据,类似与滑动窗口协议。这样如果发送的快,队列就短,发送的慢,队列相对就长。
以此为依据的一个好处是当队列满的时候,可以检测到并暂时停止发送,以免溢出。
  • 打赏
  • 举报
回复
mohamoha 2004-05-07
自己先顶一下
  • 打赏
  • 举报
回复
相关推荐
发帖
网络编程
加入

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2004-05-07 07:43
社区公告
暂无公告