关于 控件“TNMUDP” 的局域网广播传输 “速度” 问题??? 测试其速度最大只能达到 200K / 每秒!!!

LKJ99 2004-04-06 12:21:52
我测试 “TNMUDP” 控件 在局域网中传输速度 最大只能达到 200K / 每秒 左右!!!

我的测试用例:
广播一个 10M 大小的文件,每次 SendStream 2048 bytes,如果不停地一直发
一直发,他能在4秒内给你 Send 完,但是此时其他接收端都傻了,
他们最多能收到几十K;如果想其他接收端都完整的收到数据,发送端必须控制
发送速度,例如每次SendStream 2048 bytes后,暂停个100毫秒,然后再发送!!!

局域网中几十台电脑要互相 发送视频数据,如果 “TNMUDP”控件 接收数据速度
太慢,会影响视频效果!!!

有什么办法提速!!!????
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiirii 2004-04-06
  • 打赏
  • 举报
回复
參與先
LKJ99 2004-04-06
  • 打赏
  • 举报
回复
接收数据时,
以下 这个操作费时吗???

udp.ReadStream(TMemoryStream)
或者
indy中: TMemoryStream.CopyFrom(AData)

LKJ99 2004-04-06
  • 打赏
  • 举报
回复
xiangzi8(祥子)

indy控件
的确好一点,但是我测试过程中,却从未 上过 1M / 秒 的速度?!!!

你有没测试过!!!???
LKJ99 2004-04-06
  • 打赏
  • 举报
回复
好,多谢!

试试先!
SydPink 2004-04-06
  • 打赏
  • 举报
回复
发是无条件的发??收是无条件的收????????
发和收的速度由于处理不同。速度上肯定有差异。注意看看你有没有做好同步工作。可能是收端处理的太慢,而UDP本身是面向无连接的。如果你不处理同步的话,他就无条件的给你发,不管收方是否作好准备。
xiangzi8 2004-04-06
  • 打赏
  • 举报
回复
建议使用indy控件,因为他已经把线程包进去了,不需要自己去写。
xiangzi8 2004-04-06
  • 打赏
  • 举报
回复
使用线程控制,每一个连接使用一个线程,这样瓶颈就成网络带宽了

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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