耗
耗子_super
Unregistered / Unconfirmed
GUEST, unregistred user!
本人在做一个监控系统,是通过gprs通讯方式传输数据。
编程上一定要采用sockets,tcp连接,并且是长连接(这三个条件是肯定的,无法更改),当终端有2000个以上时,如何实现稳定地接收终端数据(同一时间点可能有数个终端同时上传数据)。
在终端不是很多的时候,一般我们都是采用为每一个连接建立一个线程,那么可以很容易的实现稳定的接收所有终端的数据。可是当终端有数千个的时候,如果针对每个连接都建立一个线程,那么计算机肯定是吃不消的。
如果就用一个监听线程,然后写循环对所有的连接进行检测有无上传的数据,那么问题又出现了,当某个时间点有数百个终端同时上传数据,很有可能会漏掉一些终端上传的数据。
欢迎大家参与讨论,谢谢!
编程上一定要采用sockets,tcp连接,并且是长连接(这三个条件是肯定的,无法更改),当终端有2000个以上时,如何实现稳定地接收终端数据(同一时间点可能有数个终端同时上传数据)。
在终端不是很多的时候,一般我们都是采用为每一个连接建立一个线程,那么可以很容易的实现稳定的接收所有终端的数据。可是当终端有数千个的时候,如果针对每个连接都建立一个线程,那么计算机肯定是吃不消的。
如果就用一个监听线程,然后写循环对所有的连接进行检测有无上传的数据,那么问题又出现了,当某个时间点有数百个终端同时上传数据,很有可能会漏掉一些终端上传的数据。
欢迎大家参与讨论,谢谢!