做一个信息系统,本来用的是客户端每隔一段时间像服务器端查询是否有新消息,后来测试后,发现这样很占用服务器资源
现在想改用服务器直接向客户端信息推送的办法
服务器:tomcat
客户端:air(flex)
这里有个疑问:
客户端如何保持监听状态?好像用socket连接到服务器查询,如果无信息,结束查询后,连接也就终止了,不能一直保持与服务器的连接状态,进行监听
或者问服务器端如何做到阻塞请求直到有数据传递才返回客户端?
[b]问题补充:[/b]
[quote]用socket请求http??
建议可以单独写一个SocketServer就行了,定时发送链路检测包,断了重新连接,现在SP跟移动网关进行对接的时候都是长连接+链路检测的方式,只要定时发链路检测包,一般都不会断的。[/quote]
我的本意也是在服务器端建立socketServer,然后客户端socket连接,在tomcat启动的时候调用servlet启动这个socketServer
可能表达上让你误解了
现在我的问题就是,客户端当连接到socketServer端的时候,是不是建立的这个连接,只要代码不显示的close,或者超时,连接就一直不会断开?而我只要处理好定时检测是否中断,重连就可以?
[b]问题补充:[/b]
[quote]如果你真这样搞的话线程池和队列要考虑上。[/quote]
服务端开启几百个线程socket线程,会不会性能上很大问题?