当前位置:编程学习 > C#/ASP.NET >>

c# socket 异步socketAsyncEventArgs效率问题,有源码

我写了个最简单客户端发送,客户端里一次初始1000个socket,服务器接收的,我发送的是timeTicks,把发送过来的timeTicks和接收时的timeTicks做比较,发现每个包从发送,到接收延迟35MS左右!这个数据很不正常,请大家帮忙指正!看看到底哪里出了问题,源码:
c# socket client http://download.csdn.net/source/3097160
c# socket server http://download.csdn.net/source/3097159
请求帮助!
--------------------编程问答-------------------- 你的客户端跟你的服务器时间同步吗?误差有多少你知道吗?

不要说你都在一台计算机上,如果是的话...你“1000个socket”,电脑不用喘气啊... --------------------编程问答-------------------- 同一台电脑!电脑喘气不用这么久吧! --------------------编程问答--------------------
引用 2 楼 tuablove 的回复:
同一台电脑!电脑喘气不用这么久吧!

喘,socketasynceventargs虽然是使用iocp的,但接收后处理时还是cpu线程池,就算16个线程相对1000个客户端也得轮着来处理。 --------------------编程问答-------------------- 你的电脑要是几万十几万那种,是不用这么久... --------------------编程问答-------------------- @vrhero
看看lizhibin11的回答,你回答问题的方式要改变!有理有据,一看就明白就行了!
我想请问,你这答案“你的电脑要是几万十几万那种,是不用这么久...”是什么意思?
你回答清楚了嘛?说清楚了嘛?
--------------------编程问答-------------------- 1.因为3楼解释过了,我没必要再解释一次...

2.因为这些都是计算机和操作系统基础知识,干这行的都应该知道... --------------------编程问答-------------------- 1.3楼解释过了你还要多一嘴,话多嘛,说了无意义!
2.我是在问这样正常嘛,正常效率应该多少,你只需回答是多少,或者接近就完事!
喘口气,都是喘气,你1分钟喘50口气正常,你10分钟喘一口气就背过去了!也喘气了,这也正常! --------------------编程问答--------------------
引用 6 楼 vrhero 的回复:
1.因为3楼解释过了,我没必要再解释一次...

2.因为这些都是计算机和操作系统基础知识,干这行的都应该知道...

UP,这个跟CPU以及内存主板等有直接关系啊,如果你的机器是很牛的配置的服务器的话,应该效率会大大提高。 --------------------编程问答--------------------
我也用SocketAsyncEventArgs作了一个测试,结果如上图。
一个进程内同时发起1000个连接,每个Socket连接后立即发出当时的客户端时间,服务端接收到之后,在一个数组里记录每个连接发来的客户端时间,另一个数组记录每个连接收到数据的时间。最后取出1000个连接的最大最小平均时间(毫秒)。
服务段和客户端进程在同一台机器,ThinkPad R400。 --------------------编程问答-------------------- 是的
引用 1 楼 vrhero 的回复:
你的客户端跟你的服务器时间同步吗?误差有多少你知道吗?

不要说你都在一台计算机上,如果是的话...你“1000个socket”,电脑不用喘气啊...
--------------------编程问答-------------------- 说句题外话!首先这个类是高效的,但是由于许多其它因素所以导致你现在收到的这种感觉不正常的信息。其次,如果楼主是想做压力测试的话,光看同时能连接多少个客户端是测不出的!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,