Client端框架
由于这是对于所有浏览器client的通用任务,所以Pushlet Client端框架提供了两个可重用的文件:pushlet.html和pushlet.js。
Pushlet.html本身是被附着在一个隐藏的HTML Frame中。这个Frame的parent调用并实现push()方法。
pushlet.html :被包含在client端的HTML文档中的Frame中。它可以传入主题标识和背景颜色两个参数。而它所做的最重要的工作是下面的push方法:js 代码 function push() { // 根据传入的参数建立PushletEvent object // push.arguments是来自server的Event数据 pushletEvent = new PushletEvent(push.arguments) // 更新状态Frame:显示闪光表示接收数据 updateStatusFrame(); // parent frame是否准备好接收Event? if (!parent.onPush) { return; } // 把Event转发给parent frame指定的处理方法 parent.onPush(pushletEvent); } Push ()函数首先根据传入的参数建立了一个JavaScript对象——pushletEvent。接着使用updateStatusFrame()显示闪 光,表示我们正在接收Event数据,如果parent frame存在onPush()函数,则将前面建立的PushletEvent对象作为参数调用parent frame指定的处理方法。 在pushlet.js 中的PushletEvent类代码如下:js 代码 /* Object to represent nl.justobjects.pushlet.Event in JavaScript. Arguments are an array where args[i] is name and args[i+1] is value */ function PushletEvent(args) { // Map存放Name/Value pairs this.map = new Map(); // 设置成员方法 this.getSubject = PushletEventGetSubject this.put = PushletEventPut this.get = PushletEventGet this.toString = PushletEventToString this.toTable = PushletEventToTable // 将传入的参数值放入到map中 for (var i=0; i < args.length; i++) { this.put(args[i], args[++i] ); } } // 获取事件主题 function PushletEventGetSubject() { return this.map.get('subject') } // 获取事件属性 function PushletEventGet(name) { return this.map.get(name) } // 存放事件属性 function PushletEventPut(name, value) { return this.map.put(name, value) } function PushletEventToString() { return this.map.toString(); } // 将map内容转化为HTML Table function PushletEventToTable() { return this.map.toTable(); } PushletEvent使用了一个我增加的Map JavaScript对象,它类似于java.util.Hashtable
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cyliao/archive/2008/09/24/2974511.aspx
分享到:
相关推荐
综上所述,"client+service=push.zip"中的内容可能涉及到了使用Netty作为网络通信框架, Protobuf作为数据交换格式,实现一个高效、可靠的即时消息推送服务。开发者需要理解这些技术,并能灵活应用到实际项目中,以...
Push 系统的技术架构基于 Spring 框架,使用 Spring MVC 框架实现 Web 层,使用 MyBatis 框架实现数据访问层,使用 Shiro 框架实现权限管理。同时,Push 系统还使用了多线程技术和 JSON 格式传参,实现高效、可靠的...
WAP 2.0版本定义了推送技术及其完整的协议框架,涉及的主要组件包括推送发起者(Push Initiator, PI)、推送代理网关(Push Proxy Gateway, PPG)和推送客户端(Push Client, PC)。其中,PI通过推送访问协议(Push ...
在IT行业中,我们经常面临各种库和框架之间的依赖冲突,特别是在使用第三方组件时。这个项目的标题和描述提及了"Kingdee.BOS.WebApi.Client.dll",这是一个与金蝶(Kingdee)业务操作平台(BOS)相关的Web API客户端...
client.Headers.Add("User-Agent", "WAP-Push/1.0 (PPG)"); byte[] wbxmlData = GenerateWbxml(message); // 需要实现的生成WBXML数据方法 client.UploadData(url, wbxmlData); } private byte[] ...
"anroid完美实现 push推送 源码奉送" 提供的开源框架AndroidPN(Android Push Notification)是一个专门针对Android设备设计的Push服务解决方案。下面将详细介绍这个框架以及其核心知识点。 AndroidPN是一个基于...
【标题】"pushClient:nettyPusher 的套接字客户端" 涉及到的知识点主要集中在Java网络编程和Netty框架的应用上。Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端...
`pushClient`部分通常指的是在iOS应用中实现接收和处理推送通知的客户端代码。在iOS应用中,开发者需要集成Apple的PushKit框架,并设置相应的证书和配置,以便能够接收来自服务器的推送通知。`pushClient`代码可能...
- **推送客户端 (PC: Push Client)**: 位于 WAP 领域内,负责接收和处理从 PPG 推送过来的信息。 **2.2 协议介绍** - **PAP (Push Access Protocol)**: PI 与 PPG 之间的通信协议,采用 XML 作为消息描述语言。 - ...
在本文中,我们将深入探讨`ionic-service-push-client`,这是一个专为 Ionic 应用程序设计的推送服务客户端代码。尽管这个库已被弃用,但理解它的功能和工作原理仍然可以帮助我们更好地了解如何在 Ionic 应用中实现...
此框架包含服务端组件、客户端组件和Agent组件,支持多种编程语言接口,如C/C++、C#、Delphi、易语言、Java和Python。它封装了底层通信细节,提供了基于事件通知模型的API接口,使得应用程序可以不涉及复杂的通信...
风扇推 这是使用Netty框架实现的一个小型的推进系统。 主要适用的场景或解决的问题 1,针对于在初级/内网的简单推进业务。 2,在项目中,我们经常会遇到这样一个场景:...长连接握手认证参考PushClient中连接成功/ Pus
- **Push vs Pull模型**: Prometheus采用Pull模型,定期从目标服务器上拉取度量数据,而不是由目标服务器主动推送。 2. **使用prometheus_client_model**: - **初始化Exporter**: 首先,你需要导入`prometheus_...
- **asp.net**:微软开发的服务器端Web应用程序框架,用于构建动态网站、Web应用和服务。 - **b/s推**:Browser/Server Push,即浏览器/服务器推送,是Ajax Push在Web应用中的具体体现。 【文件详解】: 1. **Web....
描述中提到,开发者在尝试使用AndroidPN(Android Push Notification)但遇到了DNS配置问题,最终选择自建一个简化版本的消息推送服务,并采用了Struts2框架。Struts2是一个流行的Java Web框架,用于构建MVC(Model-...
推聊概述 PushTalk Overview 推聊是一个基于极光推送的Android手机聊天系统。支持群聊与点对点聊天。...推聊的服务器端使用 Java 语言编写,基于最简单实用的开源框架。 http 服务器使用 :轻量级的 Java Servlet
push推送服务,使用开源的gopush框架,基于akka实现的高性能推送服务。ios会推送到apns,wp推送到microsoft的推送服务器上,支持分布式##特性1、轻量级,完全依赖akka2、高性能3、纯scala实现,部分方法使用java4、...
6. **消息推送与接收**:框架支持PUSH、PULL和PACK模式,分别对应消息推送、消息拉取和消息打包功能,满足不同的通信需求。 ### 开发指南内容: 根据标题和描述,开发指南会包含如下内容: 1. **安装与配置**:...
适用于Java EE 集成测试框架客户端。 用法 将以下依赖项放入您的 pom.xml < groupId>com.lotaris.rox.client</ groupId> < artifactId>rox-client-jee-itf < version>2.1.1 要求 Java 6+ 贡献 创建主题分支 -...
能在linux(epoll)运行基于C# .net ...客户端所在socket.core.Client命名空间下,分别为三种模式 push/pull/pack 主要流程与对应的方法和事件介绍. 注:connectId(int)代表着一个连接对象,data(byte[]),success(bool)