最近一款App需要用到推送技术,简单总结一下使用过程:
两类解决方案:
使用套接口传送信息,需要客户端配置
基于HTTP长连接
使用时需要考虑的因素:
客户端如何接收,处理信息,如果是Web应用,应该如何结合返回页面并向用户呈现。
客户与服务器端通信的信息格式,采取怎样的出错处理机制。
Web应用中的浏览器兼容问题
基于客户端套接口的“服务器推”技术简单分类:
传统轮询:修改Html文件头,<META HTTP-RQUIV="Refresh" CONTENT=12>实现浏览器的定时请求(polling)。服务器无需配置,但服务器压力大,带宽损失严重,用户体验度差。
ajax轮询:Ajax定时(通常使用 JavaScript 的 setTimeout 函数)请求增量式的更新,但请求时间间隔设定是一个问题。只需要服务器简单配置,带宽占用不高,但服务器压力没有减少,是较长见的反推技术。
comet:长连接机制 (long lived http)。一次请求后,服务器将挂起请求对像直到有了数据才销毁。它有着较好的性能和实时性,但挂起对象占用了一些服务器资源,也丧失了无状态高并发的特点。
java appet:在客户端使用 Java Applet ,通过 java.net.Socket 或 java.net.DatagramSocket 或 java.net.MulticastSocket 建立与服务器端的套接口连接,从而实现 “ 服务器推送 ” 。
使用HTML5的内置WebSocket.或许这是真正的ServerPush,服务器可以主动推数据,每次的请求Header也只有2Byte大小.
关于WebSocket详解:http://ariesx.iteye.com/blog/1959988
其它技术:
flash xml socket:这种方案实现的基础是:一、 Flash 提供了 XMLSocket 类。二、 JavaScript 和 Flash 的紧密结合:在 JavaScript 可以直接调用 Flash 程序提供的接口。
优点:实时性好(消息延时小);性能好(能支持大量用户)
缺点:因为 XMLSocket 没有 HTTP 隧道功能, XMLSocket 类不能自动穿过防火墙;
因为是使用套接口,需要设置一个通信端口,防火墙、代理服务器也可能对非 HTTP 通道端口进行限制;
应用:网络聊天室,网络互动游戏。
相关推荐
Pushlet的核心组件是Pushlet Server和Pushlet Client。Pushlet Server作为服务端,接收并处理客户端的连接,当有新的数据可用时,会主动将数据推送到已经建立连接的客户端。Pushlet Client则是在用户端运行的程序,...
服务器推 pushlet 服务器推 pushlet 服务器推 pushlet 服务器推 pushlet
Pushlet是一种基于Java的实时数据推送技术,由荷兰JustObjects公司开发。Pushlet库的核心功能是实现实时的服务器向客户端推送数据,而无需客户端频繁发起请求,这大大提高了网络应用的效率和用户体验。以下是对...
在IT行业中,Pushlet是一种基于Java的推送技术,主要用于实现实时的数据传输,尤其是在Web应用中创建实时聊天、通知服务等功能。Pushlet是基于HTTP连接持久化的概念,它允许服务器主动向客户端推送数据,而无需...
【Pushlet服务器推技术】是一种实时通信技术,主要用于构建能够实时推送信息的Web应用程序,比如聊天、股票更新、在线游戏等场景。Pushlet是基于Java的开源项目,它利用了HTTP的长连接特性,实现了服务器主动向...
【Pushlet 使用手把手实例详解】 Pushlet 是一个开源的、基于Java的实时信息发布系统,它采用推送技术(Push Technology)实现服务器向客户端实时发送数据,而无需客户端频繁发起请求。这种技术在实时性要求高的...
Pushlet的核心概念包括Pushlet服务器、Pushlet客户端和Pushlet事件。 1. Pushlet服务器:这是Comet服务的实现,负责接收客户端连接并保持连接打开状态,直到有新的数据可推送到客户端。 2. Pushlet客户端:通常是一...
"pushlet.jar 和示例工程"是一个专注于实现服务器端向客户端主动推送消息的框架,它在Web开发领域中扮演着重要角色。Pushlet框架的设计旨在克服传统的HTTP协议中客户端请求、服务器响应的被动通信模式,转而采用一种...
PushLet是一种基于Java的实时推送技术,用于在服务器和客户端之间进行双向通信,尤其是在Web应用中实现数据的即时更新。这个实例"PushLet实例,可直接运行"提供了一个完整的、可以直接执行的PushLet项目,包括必要的...
《Pushlet的Ajax-pushlet-client.js深度解析》 在当今的Web开发中,实时通信技术已经成为了一项不可或缺的技能,而Pushlet的Ajax-pushlet-client.js则是实现服务器“推”技术的重要工具。本文将深入剖析这个...
Pushlet是一种基于Java的实时数据推送技术,它允许服务器向客户端主动推送数据,而无需客户端持续不断地轮询请求。在Web应用中,Pushlet能够显著提高用户体验,因为它减少了延迟并优化了服务器资源的使用。本示例...
在pushlet-2.0.3这个压缩包中,可能包含了Pushlet框架的源代码、文档、示例代码和配置文件等,用于帮助开发者理解和使用Pushlet。开发者可以通过阅读源码了解其工作原理,参考示例快速入门,通过配置文件定制Pushlet...
Pushlet和Comet技术是Web服务器向浏览器推送数据的两种策略,主要用于实现实时的、双向的通信。这两种技术在传统的HTTP协议基础上进行了扩展,克服了HTTP请求-响应模型的限制,使得服务器能够主动向客户端推送数据,...
Pushlet是一种基于Java的推送技术框架,用于实现实时数据从服务器向客户端的推送。Pushlet项目是由Peter Mularien开发的,它提供了一个简单、轻量级的解决方案,允许服务器端主动向浏览器或其他客户端应用程序发送...
标题中的“pushlet实例以及jar”表明我们即将讨论的是一个基于Pushlet技术的示例项目,其中包含了必要的jar文件。Pushlet是一种轻量级的、基于服务器推送(Server-Sent Events, SSE)技术,用于实现实时数据传输,...
Pushlet是一种基于Java的实时通信框架,主要用于实现服务器向客户端推送数据,也就是所谓的“服务器推”技术。在传统的HTTP协议中,客户端需要不断发起请求来获取服务器的数据,而Pushlet则打破了这种模式,允许...
**Pushlet框架详解** Pushlet框架,又称为Java Pushlet,是一种基于Java的实时推送技术框架,由Marc Fleury创建并开源。Pushlet的核心概念是实现服务器向客户端的主动推送数据,而不是传统的HTTP请求-响应模式,即...
Pushlet 是一个基于 Comet 技术的框架,用于实现在 Web 应用中服务器向客户端实时推送数据的功能。Comet 是一种反向 AJAX 技术,允许服务器在客户端请求未结束时保持连接开放,从而可以在有新数据时立即推送到客户端...
Pushlet 2.0.3 是一个开源的服务器推技术实现,主要针对Java平台。它允许服务器主动将数据推送给客户端,支持浏览器和桌面应用程序。本文将深入分析Pushlet 2.0.3的服务器端源码,了解其架构、工作原理及关键实现。 ...
**PUSHLET即时通讯工程实例详解** PUSHLET是一种基于Java技术实现的即时通讯系统,它允许服务器主动向客户端推送数据,而无需客户端持续轮询请求。这种技术在实时性要求高的应用中非常常见,如在线聊天、股票交易、...