读书人

socket发送大量数据同时发送少量数据

发布时间: 2012-01-11 22:28:46 作者: rapoo

socket发送大量数据同时发送少量数据,不通过多连接如何实现?

目前遇到一个问题,因为SOCKET发送和接收所用的数据结构中只对应一个缓冲区和一个包。所以在发送数据的时候就是独占性的,也就是说数据的发送必须按线性排列,这样一来就遇到一个问题。当有多个线程并发往一个SOCKET中发数据时,就会出现大量的排队现象,这种排队很不好处理。请问遇到这种情况该如何解决?是对线程产生的数据排队还是在数据结构中将缓冲扩充成数组?或者有更好的办法?

[解决办法]
那只好用阻塞方式了
[解决办法]
多线程不能解决socket的瓶颈,如果多线程能解决我想这个贴子就不会出来了。

TO:CathySun118(斯年)
目前用的是非阻塞方式,改成阻塞方式会不会对效率有比较大的影响?如果实在不能解决也只有开多个端口分流了,一个端口还是承受不了这么大的压力...
=========================================================
我也是多端口分流。
不我不明白的是,你的接收端是一socket麽?是一端麽?

如果是的,分流也只是解了送端的。
[解决办法]
你是不是要在发送大量数据的同时还能发送一些指令性信息啊?
如果是的话,你可以试试用带外数据
[解决办法]
带外数据发送的优先级比较高

读书人网 >VC/MFC

热点推荐