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 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误