请高手指点:如何用UDP实现局域网内的高速稳定的文件传输
我使用UDP方式做的文件传输在100M局域网内只能达到1M多字节每秒,想尽了办法也不能再提高.因此希望在UDP大数据量传送方面有经验的高手给我一点建议.
我是自己做的滑动窗口方式的来保证数据的顺序和完整,可是速度比我预计的慢太多了.而且MSDN里说SendTo只能发送不超512字节的包...不知道有没有更好的方法啊?
问题点数:100、回复次数:7Top
1 楼nicknide(封月翔天)回复于 2005-06-04 07:34:35 得分 15
楼主,你这个是正常速度,
100M 网,如果过了集线器,则速度回变为10M
然后10Mbit = 1.25Mbyte
因此没有问题,不用担心。
还有,如果要稳定,建议用Tcp;这个协议比UDP速度慢不会超过20%
而且除非你经验非常丰富,否则一般写的UDP协议的整体效率都没有TCP效率高...Top
2 楼loucai(羽)回复于 2005-06-04 08:41:46 得分 0
upTop
3 楼leon7909(專注网絡編程)回复于 2005-06-04 12:24:46 得分 10
我的问题同你差不多,在局域网上也只有一m多的速度,在internet上就更糟糕了Top
4 楼newbiestar()回复于 2005-06-04 12:41:42 得分 20
LAN里面只有1M其实不太正常的,过了hub也不至于这样的……
看你的设备和网络结构了。
稳定方面估计你可不能做的比TCP协议更高了,但是速度上面么,应该还是有优化余地的。我觉得那个512字节的规定不太合理,IP协议自己难道不能拆分数据包吗?再说了一般的LAN的MTU都是1500字节了……Top
5 楼maplevsred(残桓枫雪)回复于 2005-06-05 16:11:45 得分 0
谢谢各位,由于我需要做成多播,因此不能使用TCP,测试时的网络环境是有100M Bps的,用Windows的共享文件夹复制文件都能达到4M/s左右.以前我也用TCP试过,在点与点之间的速度比Windows资源管理器的那个快.但是比QQ传文件慢,QQ能达到8~10M/s.
我再改一下程序,过几天来结帖.希望有这方面开发经验的朋友多指点一二.Top
6 楼Tranquillo(晚起的鸟儿找虫吃)回复于 2005-06-05 19:27:01 得分 35
只能发512字节的包?你在哪里得到的?当你用WSAStartup时返回的WSAData结构里面就有一次能发送的数据大小,另外我觉得用UDP应该会比TCP快,关键是滑动窗口要仔细做,反正发送方不能停着等收到确认Top
7 楼aiyue2010(亚伦)回复于 2005-06-06 09:16:03 得分 20
我也在做这方面的例子,也使用滑动窗口。建议楼主对比一下ftp的速率Top




