关于服务器推送
前一阶段一直在做服务器推送的技术调研,公司本来希望能够使用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了。
分享到:
相关推荐
服务器推送技术
服务器推送示例 - IE/火狐/谷歌 长链防断实用版 本版本解决了IE下长链接很快断开的问题, 在各浏览器下(已测试IE6/8、火狐、傲游等)均可监控长链接状态, 可重新打开长链接。 已达实用程度。
实现 Dwr 服务器推送实现 Dwr 服务器推送实现 Dwr 服务器推送实现 Dwr 服务器推送实现 Dwr 服务器推送
服务器内容推送技术服务器内容推送技术服务器内容推送技术服务器内容推送技术服务器内容推送技术
ios的服务器推送要点,ios的服务器推送要点的详细描述。
服务器推送信息给安卓设备端服务器推送信息给安卓设备端
c#.NET 服务器推送 源代码 需要的朋友可以学习下
JAVA开发WEB代码,模拟实现了多种方式模拟服务器推送客户端。包括ajax轮询,长连接,长轮询,iframe刷新方式等
1 服务器推送websocket:服务端主动向客户端发消息。 目标:客户端和服务器建立长连接,服务端与客户端可实时收发数据。 原理:使用HTTP协议建立全双工的TCP长连接。 方法:HTML5的WebSocket。 参考:...
使用java推送百度Push 消息、是服务器端的,可以直接使用,很方便的
ios 服务器推送,c++代码,ios 服务器推送,c++代码的实现。
服服务器推送技术服服务器推送技术
实现ios推送的服务器端,通过java服务器端来和苹果推送服务器进行交流,从而实现推送效果
ASP signalR简单服务器推送功能 详情 请看http://blog.csdn.net/qq_33238150/article/details/50512520
git 简单的向git服务器推送的过程, 可以参考一下
使用DWR实现服务器端向客户端精确推送消息
用php实现ios推送效果的服务器端,简单快捷的实现推送
iOS推送服务器 实现过程http://blog.csdn.net/qqmcy/article/details/23691959