100M局域网,
而且速度很快的,平时用IE单线程从局域网的WEB服务器下载最快有10M字节/秒,
但我用程序测试(UDP协议)
开了一个线程马不停蹄地发数据包,每个数据包只有64字节,
我统计了一下,10秒钟发了14万个数据包,
平均一秒才发送875K的字节,
这也太慢了吧?
有什么方法可以提高速度呢?
另外每个数据包的大小多少最合适?
而且速度很快的,平时用IE单线程从局域网的WEB服务器下载最快有10M字节/秒,
但我用程序测试(UDP协议)
开了一个线程马不停蹄地发数据包,每个数据包只有64字节,
我统计了一下,10秒钟发了14万个数据包,
平均一秒才发送875K的字节,
这也太慢了吧?
有什么方法可以提高速度呢?
另外每个数据包的大小多少最合适?
我试过从本地信息港下载都有10.4M字节/秒,不是比特.
不过是IE的下载显示.
这个例子不错:
http://www.vckbase.com/document/viewdoc/?id=448
对于局域网内测试带宽,我也一直想做,呵呵,不久前刚刚完成了ADSL 512k-10M的带宽的测试,我现在可以产生512k-10Mbps的流量。但在局域网内,产生100Mbps的流量,的确很难处理。我觉得主要还是两个问题:1.控制发包长度;2.控制发包的间隔时间;这两个控制好了,一定可以产生相应的流量,而且,我认为,单线程一定可以实现!
http://www.vczx.com/article/show.php?id=601
我是在线程中不断地发呀,
应该是最快的了.==================================
这个回答很不错1、尽量保证发送出去的每个数据报都能到达接收端;
2、在满足1的前提下,尽量提高发送的速度。
3、在满足1、2的前提下,尽量提高每个数据报的长度。======================================================
在这里,我想再次解释
1.为什么要控制发包间隔时间?
因为你要发多快都可以,如果不考虑2;所以当你发到了一个极限值100Mbps时,丢包率几乎达到100%;那从有效带宽的角度来讲,在一定的时间长度内,收到的数据量/时间。
单线程,
UDP多播,
10M/100M局域网,
服务端发一个40M的文件,每个数据包40960字节,每发一个包Sleep(2),
客户端接收并写入硬盘,
丢包率为0.
速度达到了7M字节/秒.
局域网中所有的192。168。10。X的机都能收到,
多播不同,
要加入多播组才能收到。
如果是这样或者说做这种测试有什么意义?
先测试能达到多大的速度,
再做检验有没有收到.