关于服务器推送

本文探讨了使用HTTP协议进行服务器到客户端消息推送的技术方案。主要介绍了两种实现方式:长轮询和多次response应答,分析了各自的优缺点,并讨论了基于Tomcat6.0 NIO的实施情况及可能的改进措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于服务器推送

前一阶段一直在做服务器推送的技术调研,公司本来希望能够使用web server做一个消息服务器,使用http协议实现服务器到客户端的实时消息推送。做了一些技术调研成果暂记如下:

1, 使用场景:
可行开发的客户端软件,与服务器使用http协议交互信息。用户开机后,与服务器建立http连接,服务器判断是否有针对该用户的消息:升级信息、通知信息等。

2, 两条可行的技术路线:
a) 使用长轮询。客户端动作如下:开机---建立http请求---服务器判断,如果由消息则返回本次http响应---重新建立http请求。
b) 使用多次response应答。客户端与服务器建立连接后,如果有针对某个客户端的消息,则服务器将消息写到缓冲区,并清空缓冲区,这样客户端就可以实时得到应答。
c) 其他方式:Flash,ActiveX,Applet。

3, 两种技术路线优缺点对比:
a) 方式1,优点,整体方案实现简单,客户端实现简单。缺点:实时性差,对服务器的性能要求很高。
b) 方式2,优点:对服务器的性能要求相对较少,没想出来。缺点:复杂,不稳定。

4, 可行的方案:采用tomcat6.0的NIO形式实现方式1,使用一台普通pc机做压力测试,可以同时支持5000台终端同时访问。但是tomcat6.0存在不稳定的现象,当终端数量持续增加时,会发生当机现象。

5, 可能的改进:简单实用了Grizzly,性能应该会更好,但是需要修改grizzly的内核,编程比较复杂,而且参考资料相对较少。

6, 体会:是时候开始研究Grizzly了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值