100M局域网,
而且速度很快的,平时用IE单线程从局域网的WEB服务器下载最快有10M字节/秒,
但我用程序测试(UDP协议)
开了一个线程马不停蹄地发数据包,每个数据包只有64字节,
我统计了一下,10秒钟发了14万个数据包,
平均一秒才发送875K的字节,
这也太慢了吧?
有什么方法可以提高速度呢?
另外每个数据包的大小多少最合适?

解决方案 »

  1.   

    理论上数据包大小为65535,但如果用sniffer来分析就会发现,1500字节就分片了。实际每片为1500-20-8=1472还有,你说10M字节/秒是不是有误差?100M网是指100M bits,而不是100M bytes,理论速度也只能达到10M bytes/sec,实际速度不会那么高吧?
      

  2.   

    有的,
    我试过从本地信息港下载都有10.4M字节/秒,不是比特.
    不过是IE的下载显示.
      

  3.   

    一个线程差不多就这个速度了,可以用多线程在一定程度上来提高速度。
    这个例子不错:
    http://www.vckbase.com/document/viewdoc/?id=448
      

  4.   

    理论速度应该是12.5MByte /s
    对于局域网内测试带宽,我也一直想做,呵呵,不久前刚刚完成了ADSL 512k-10M的带宽的测试,我现在可以产生512k-10Mbps的流量。但在局域网内,产生100Mbps的流量,的确很难处理。我觉得主要还是两个问题:1.控制发包长度;2.控制发包的间隔时间;这两个控制好了,一定可以产生相应的流量,而且,我认为,单线程一定可以实现!
      

  5.   

    对于包长的控制,当然是很简单的,但是对于时间就不是那么好处理了,下面一个时间统计的,看看对你有没有帮助!
    http://www.vczx.com/article/show.php?id=601
      

  6.   

    呵呵,樓主的問題和我的怎麼那麼象啊,我寫的傳輸工具也只能達到平均八百多k的速度,快的時候一m,改來改去就那速度,而且還不一定對稱的,a向b發可能有八百k,b向a發就不一定了,說不定更少.也一直沒解決,不過我想速度到底要到多少才算物盡其用,應該試試用tcp先寫一個,他不用自已做保證順序和超時重傳的處理,看看tcp到底能達到多少速率先.幫你頂.
      

  7.   

    不会吧,发包时间还要控制?
    我是在线程中不断地发呀,
    应该是最快的了.==================================
    这个回答很不错1、尽量保证发送出去的每个数据报都能到达接收端;
    2、在满足1的前提下,尽量提高发送的速度。
    3、在满足1、2的前提下,尽量提高每个数据报的长度。======================================================
    在这里,我想再次解释
    1.为什么要控制发包间隔时间?
    因为你要发多快都可以,如果不考虑2;所以当你发到了一个极限值100Mbps时,丢包率几乎达到100%;那从有效带宽的角度来讲,在一定的时间长度内,收到的数据量/时间。
      

  8.   

    用多線程應該還是有點用處的,每個線程一獨立的Socket,把文件拆分,每個線程負責一部分,沒試過.
      

  9.   

    我已经进行了测试,
    单线程,
    UDP多播,
    10M/100M局域网,
    服务端发一个40M的文件,每个数据包40960字节,每发一个包Sleep(2),
    客户端接收并写入硬盘,
    丢包率为0.
    速度达到了7M字节/秒.
      

  10.   

    强,顺便也帮我做个试验,如何在局域网内产生1000Mbps的流量,谢谢!
      

  11.   

    不好意思,请问:UDP多播,广播是什么意思?
      

  12.   

    广播,是向诸如192.168.10.255这样的IP发的UDP包,注意最后的255
    局域网中所有的192。168。10。X的机都能收到,
    多播不同,
    要加入多播组才能收到。
      

  13.   

    不太懂,UDP容易丢包,你就1直狂发不管收没有收到?
    如果是这样或者说做这种测试有什么意义?
      

  14.   

    回:kufan(我是真的不会表达我的爱)
    先测试能达到多大的速度,
    再做检验有没有收到.
      

  15.   

    prettywolf(多情自古空余恨,此恨绵绵无绝期) ,能不能把你的测试源代码给我一份参考参考?先谢了![email protected]