ryuluck 2008-11-14 11:03
浏览 277
已采纳

如何实现socket信息推送

做一个信息系统,本来用的是客户端每隔一段时间像服务器端查询是否有新消息,后来测试后,发现这样很占用服务器资源
现在想改用服务器直接向客户端信息推送的办法
服务器:tomcat
客户端:air(flex)
这里有个疑问:
客户端如何保持监听状态?好像用socket连接到服务器查询,如果无信息,结束查询后,连接也就终止了,不能一直保持与服务器的连接状态,进行监听
或者问服务器端如何做到阻塞请求直到有数据传递才返回客户端?
[b]问题补充:[/b]
[quote]用socket请求http??
建议可以单独写一个SocketServer就行了,定时发送链路检测包,断了重新连接,现在SP跟移动网关进行对接的时候都是长连接+链路检测的方式,只要定时发链路检测包,一般都不会断的。[/quote]

我的本意也是在服务器端建立socketServer,然后客户端socket连接,在tomcat启动的时候调用servlet启动这个socketServer
可能表达上让你误解了

现在我的问题就是,客户端当连接到socketServer端的时候,是不是建立的这个连接,只要代码不显示的close,或者超时,连接就一直不会断开?而我只要处理好定时检测是否中断,重连就可以?
[b]问题补充:[/b]
[quote]如果你真这样搞的话线程池和队列要考虑上。[/quote]
服务端开启几百个线程socket线程,会不会性能上很大问题?

  • 写回答

4条回答 默认 最新

  • iteye_521 2008-11-14 11:27
    关注

    [quote]是不是建立的这个连接,只要代码不显示的close,或者超时,连接就一直不会断开?[/quote]
    应该是这样的,超时这个因为有定时链路检测包,应该也没啥问题,如果你真这样搞的话线程池和队列要考虑上。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿