跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 XMPP 构建一个基于 web 的通知工具

使用 XMPP、PHP 和 JavaScript 编写实时 web 应用程序

Ben Werdmuller, 顾问和作者, Freelance
Ben Werdmuller 的照片
Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台。他是开源社交网络框架 Elgg 的共同创始人和技术带头人。Ben 的博客 http://benwerd.com/

简介:  实时 web 应用程序是联网的应用程序,带有基于 web 的用户界面,能够及时显示刚刚发布的 Internet 信息。这样的应用程序示例包括社会新闻聚合器和监控工具,它们能够使用来自外部源的数据持续更新。在本教程中,您将创建一个小型通知工具 Pingstream,它使用 PHP 和 JavaScript 通过 Extensible Messaging and Presence Protocol (XMPP) 进行通信,XMPP 是一组设计用于支持联机状态和实时通信功能的 XML 技术。

发布日期:  2010 年 8 月 02 日
级别: 中级

访问情况 : 47947 次浏览

开始之前

本教程将向您介绍实时 web,并详细介绍之所以要构建实时 web 应用程序的几个原因。您将学到一些技术,这些技术将帮助您创建响应及时、持续更新的 web 应用程序,这些应用程序既能保护服务器资源,又能提供良好的用户体验。

关于本教程

常用缩略词

  • DOM: 文档对象模型
  • HTML: 超文本标记语言
  • HTTP: 超文本传输协议
  • REST: 具象状态传输
  • RSS: 真正简单聚合
  • URL: 统一资源定位符
  • XML: 可扩展标记语言

实时 web 应用程序允许用户在信息发布时及时接收通知,无需手动检查原始源获取更新。通过 Twitter 和 Friendfeed 这样的社交通知工具,Google Wave 这样的基于 web 的协作工具,以及 Meebo 这样的基于 web 的聊天客户端,实时 web 应用程序逐渐流行起来。

Extensible Messaging and Presence Protocol (XMPP) 是一组基于 XML 的技术,用于实时应用程序,定义为持续更新以响应新数据或更改数据的联网应用程序。它最初作为一个框架研发,以支持企业环境内的实时消息传递和联机状态(presence)应用程序。

在本教程中,您将构建一个简单的工具 Pingstream,它在 RSS 提要更新发布时使用它们持续更新自身(参见 下载 获取 Pingstream 源代码)。在此过程中,您将:

  • 了解 XMPP 为何特别适合 web 应用程序;
  • 了解 XMPP 通信的组件;
  • 安装和配置 Openfire XMPP 服务器;
  • 使用 PHP 和 XMPPHP 库连接到 XMPP 服务器;
  • 检查并通过 XMPP 传输 RSS 提要中的新项目;
  • 借助 Bidirectional-streams Over Synchronous HTTP (BOSH),使用 Strophe 和 jQuery 通过 HTTP 连接到 XMPP 服务器;
  • 在 web 页面中显示 XMPP 通知。

先决条件

本教程假定您比较熟悉使用 PHP 开发 web 应用程序,但也会涉及一些高级编程方法。您还应该拥有一定的 HTML 和 JavaScript 经验。拥有 jQuery JavaScript 框架经验可能会有所帮助。但本教程不要求熟悉 XMPP 或类似的技术。

要跟随本教程操作,必须安装和运行以下服务器软件:

  • PHP 5.2 或更高版本
  • Apache HTTP Server
  • MySQL

在本教程中,您还将下载和安装以下软件和库:

  • Openfire
  • jQuery
  • Strophe
  • XMPPHP
  • Last RSS

您可能会发现 MySQL 服务器工具 phpMyAdmin 能够派上用场。如果您使用一台桌面机器来本地测试您的实时 web 应用程序,您可能会发现 XAMPP 对于管理一个测试 web 服务器基础设施的安装和运行很有用。

参见 参考资料 获取所有这些工具下载的链接。

1 页,共 10 | 后一页

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML, Web development, Open source
ArticleID=503485
TutorialTitle=使用 XMPP 构建一个基于 web 的通知工具
publish-date=08022010
author1-email=ben_cnnew1@benwerd.com
author1-email-cc=aibo@cn.ibm.com