回复: 多线程socket服务器及客户端解决方案
#6 [haiyongzz 10-16 14:31]
支持收费,共同进步
#7 [不由天 10-16 16:52]
学习下
#8 [stlcours 10-18 03:12]
谢谢楼主的辛苦工作,我决定买了。唉,我就是属于书不好好看,成天买东西的那种~
#9 [songhuirong1 10-18 09:41]
楼主。你的服务器模型有问题,来一个客户端就创建一个线程,这样系统开销太大。线程是一个非常耗资源的东西,如果同时有大量的客户端上来,你需要创建大量的线程,那么系统性能将会很差,甚至崩溃。
#10 回 songhuirong1 的帖子 [feipeng1985 10-18 15:28]
songhuirong1:楼主。你的服务器模型有问题,来一个客户端就创建一个线程,这样系统开销太大。线程是一个非常耗资源的东西,如果同时有大量的客户端上来,你需要创建大量的线程,那么系统性能将会很差,甚至崩溃。 (2015-10-18 09:41)
这个模型没有问题,因为本身设计就是要并发的传输很多数据,你可以尝试一下,多个客户端并发每个客户端传送几十兆的东西给服务器,不用多线程,服务器是否能同时进行接收,而且,你说线程是一个非常耗资源的东西,我并不赞同,线程只在有数据传输的情况下处于工作状态,你可一个同时开多个客户端连上服务器,一起测试,看看效率是否有你说的会很差,甚至崩溃,请勿纸上谈兵,你可以就用我的例子,然后告诉我,你开到多少个客户端,同时传输数据,然后把系统搞崩溃了,就我知道的例子,我们公司现在的产品,在嵌入式arm上有几十个线程,并没有见过所谓的崩溃。
这位朋友,你可以试试服务端如果只有一个线程接收数据,能否达到我设计的这个demo的数据吞吐量即可,同时并发3个20M的数据传输给服务端,马上你就会看到服务端卡成鬼