书籍详情
XMPP高级编程:使用JavaScript和jQuery
作者:(美)莫菲特 著,杨明军 译
出版社:清华大学出版社
出版时间:2011-06-01
ISBN:9787302256304
定价:¥58.00
购买这本书可以去
内容简介
利用强大的xmpp协议快速创建实时的。高度交互式应用程序xmpp是一个广泛用于即时通信、多用户聊天、语言和视频会议、协作空间、实时游戏、数据同步以及搜索领域的健壮协议。《xmpp高级编程——使用javascript和jquery》将教您如何在自己的应用程序中发挥xmpp的强大威力,并向您展示如何利用xmpp构建下一代应用程序或向当前应用程序中添加新功能所需的所有工具。本书的特色是采用javascript语言进行讲解,并使用了jquery库,书中的几个xmpp应用程序的复杂性随着内容展开而逐渐变大,它们是帮助学习的理想工具。主要内容学习xmpp的即时通信功能,比如花名册、出席和订阅以及个人聊天涵盖xmpp节、节错误消息以及客户端协议语法和语义讨论服务发现、数据表单以及发布-订阅协议解决xmpp编程相关的主题,比如应用程序设计、事件处理以及现有协议的组合详细讨论了如何部署基寸:xmpp的应用程序讲解如何使用strophe的插件系统以及如何创建自己的插件
作者简介
莫非特(Jack Moffitt),Colleeta公司的CTO,他在该公司领导一个团队致力于多个XMPP相关项目的研发,包括strophe(一系列用于XMPP通信的库)、Palaver(群聊服务器)、Punjab(HTTP-XMPP网关服务)、Speeqe(简单的基于wleb的群聊客户端)。他还在XSF董事会XSF委员会中出任多个职位。
目录
第1部分 XMPP协议和架构
第1章 了解XMPP协议
1.1 什么是XMPP
1.2 XMPP简史
1.3 XIVIPP网络
1.3.1 服务器
1.3.2 客户端
1.3.3 组件
1.3.4 插件
1.4 XIVIPP寻址
1.5 XMPP节
1.5.1 通用属生
1.5.2 presence节
1.5.3 message节
1.5.4 IQ节
1.5.5 error节
1.6 连接生命周期
1.6.1 连接
1.6.2 流的建立
1.6.3 身份验证
1.6.4 连接断开
1.7 小结
第2章 设计XMPP应用程序
2.1 他山之石
2.2 XMPP与HTTP的比较
2.2.1 XMPP的优势
2.2.2 XMPP的不足
2.3 桥接XMPP与Web
2.3.1 长轮询
2.3.2 管理连接
2.3.3 让JavaScfipt理解XMPP协议
2.4 构建XMPP应用程序
2.4.1 浏览器平台
2.4.2 基本的基础设施
2.4.3 协议设计
2.5 小结
第2部分 应用程序
第3章 Hello World第一个应用程序
3.1 应用程序预览
3.2 Hello应用程序设计
3.3 准备
3.3.1 jQuery与jQueryUI
3.3.2 Strophe
3.3.3 flXHR
3.3.4 XMPP账户
3.4 开始构建第一个应用程序
3.4.1 用户界面
3.4.2 应用程序代码
3.5 建立连接
3.5.1 连接生命周期
3.5.2 创建连接
3.5.3 连接Hello
3.5.4 运行应用程序
3.6 创建节
3.6.1 Strophe构建器
3.6.2 打招呼
3.7 处理事件
3.7.1 添加和删除处理程序
3.7.2 节匹配
3.7.3 节处理程序函数
3.7.4 处理Hello响应
3.8 给Hello程序添加新功能
3.9 小结
第4章 探索XMPP协议:一个调试控制台
4.1 应用程序预览
4.2 设计Peek
4.3 构建控制台
4.3.1 用户界面
4.3.2 显示流量
4.3.3 美化XML
4.3.4 处理XML,输入
4.3.5 简化输入
4.4 研究XMPP
4.4.1 控制出席
4.4.2 探测版本
4.4.3 处理错误
4.5 更好的调试
4.6 小结
第5章 实时微博:一个ldontica客户端
5.1 应用程序预览
5.2 Artllur的设计
5.3 Identica微博
5.3.1 建立账户
5.3.2 开启XMPP
5.4 构建Arthur
5.4.1 开始
5.4.2 接收消息
5.5 XHTML-IM
5.5.1 将XHTML-IM添加到Arthur
5.5.2 发送消息
5.6 离线消息
5.7 创建更好的微博客户端
5.8 小结
第6章 与好友交谈:一对一聊天
6.1 应用程序预览
6.2 Gab的设计
6.2.1 出席
6.2.2 消息
6.2.3 聊天区域
6.2.4 花名册区域
6.3 制作界面
6.4 构建花名册
6.4.1 请求花名册
6.4.2 处理IQ
6.4.3 更新出席状态
6.4.4 添加新联系人
6.4.5 响应花名册变化
6.4.6 处理订阅请求
6.5 构建聊天对话
6.5.1 处理标签页
6.5.2 创建新的聊天对话
6.5.3 发送消息
6.6 即时通信最佳实践
6.6.1 理解消息路由
6.6.2 更好地寻址消息
6.7 添加活动通知
6.7.1 理解聊天状态
6.7.2 发送通知
6.7.3 接收通知
6.8 收尾工作
6.9 更多Gab功能
6.10 小结
第7章 探索服务:服务发现与浏览
7.1 应用程序预览
7.2 Dig的设计
7.3 查找信息
7.3.1 disco#info查询
7.3.2 disco#items查询
7.3.3 disco节点
7.4 创建Dig
7.4.1 初始disco查询
7.4.2 浏览disco树
7.5 挖掘服务
7.5.1 查找代理服务
7.5.2 发现功能
7.5.3 寻找聊天对话
7.6 服务发现的更多功能
7.7 小结
第8章 群聊:多人聊天客户端
8.1 应用程序预览
8.2 Groupie的设计
8.3 公开发言
8.3.1 群聊服务
8.3.2 进入和离开房间
8.3.3 发送和接收消息
8.3.4 匿名性
8.3.5 创建房间
8.3.6 理解角色和岗位
8.4 构建界面
8.5 加入房间
8.6 处理出席和消息
8.6.1 处理房间消息
8.6.2 跟踪出席状态变化
8.6.3 聊天历史
8.6.4 保持私密性
8.6.5 描述动作
8.7 管理房间
8.7.1 更换主题
8.7.2 处理麻烦制造者
8.7.3 招募管理员
8.8 改进Groupie
8.9 小结
第9章 发布与订阅:共享画板简介
9.1 SketchCast预览
9.2 SketchCast的设计
9.2.1 一切都是pubsub
9.2.2 展示者的流程
9.2.3 观众的流程
9.3 填写表单
9.3.1 Data Forms扩展
9.3.2 表单元素、字段和类型
9.3.3 标准化的表单字段
9.4 处理pubsub节点
9.4.1 创建节点
9.4.2 配置节点
9.4.3 pubsub事件
9.4.4 发布到节点
9.4.5 订阅和退订
9.4.6 检索订阅情况
9.4.7 获取项
9.4.8 订阅管理
9.5 使用pubsub广播绘图
9.5.1 构建用户界面
9.5.2 使用Canvas绘制草图
9.5.3 登录并建立节点
9.5.4 发布和接收绘图事件
9.6 改进SketchPad
9.7 小结
第10章 与好友一同写作:协作式文本编辑器
10.1 应用程序预览
10.2 NetPad的设计
10.3 操作转换
10.3.1 基本原理
10.3.2 算法细节
10.3.3 实现
10.4 扩展XMPP协议
10.4.1 忽略未知数据
10.4.2 XML命名空间
10.4.3 扩展元素
10.4.4 扩展属性
10.4.5 贡献扩展
10.5 设计协议
10.5.1 测试支持
10.5.2 请求和控制会话
10.5.3 编辑操作
10.6 构建编辑器
10.6.1 初始骨架
10.6.2 启动编辑会话
10.6.3 谈论工作
10.6.4 进行编辑
10.7 扩展NetPad
10.8 小结
第11章 玩游戏:面对面的Tic-Tac-Toe
11.1 应用程序预览
11.2 Toetem的设计
11.3 设计游戏协议
11.3.1 跟踪用户
11.3.2 管理玩家
11.3.3 管理游戏
11.3.4 玩游戏和观看游戏
11.4 Toetem起步
11.5 实现会话和等待列表
11.5.1 裁判员(版本1)
11.5.2 Toetem客户端(版本1)
11.6 实现游戏管理
11.6.1 裁判员(版本2)
11.6.2 Toetem客户端(版本2)
11.7 实现游戏逻辑
11.7.1 Tic-Tac-Toe库
11.7.2 裁判员(版本3)
11.7.3 Toetem客户端(版本3)
11.8 让游戏更有趣
11.9 小结
第Ⅲ部分 高级主题分构
第12章 加入已有会话:引导BOSH
12.1 会话接入
12.1.1 会话技术
12.1.2 用例
12.2 利用会话接入实现自动登录
12.3 小结
第13章 部署XMPP应用程序
13.1 横向扩展
13.1.1 多个连接管理器
13.1.2 XMPP服务器集群
13.1.3 扩展组件
13.1.4 内部联合
13.1.5 成为服务器
13.2 纵向扩展
13.2.1 减少延迟
13.2.2 尽量减少XML序列化
13.2.3 优化DOM操作
13.3 小结
第14章 编写Strophe插件
14.1 使用插件
14.1.1 加载插件
14.1.2 访问插件功能
14.2 构建插件
14.3 创建花名册插件
14.3.1 保存联系人
14.3.2 获取并维护花名册
14.3.3 操纵花名册
14.4 试用插件
14.5 改进花名册插件
14.6 小结
附录A jQuery入门
附录B 设置BOSH连接管理器
第1章 了解XMPP协议
1.1 什么是XMPP
1.2 XMPP简史
1.3 XIVIPP网络
1.3.1 服务器
1.3.2 客户端
1.3.3 组件
1.3.4 插件
1.4 XIVIPP寻址
1.5 XMPP节
1.5.1 通用属生
1.5.2 presence节
1.5.3 message节
1.5.4 IQ节
1.5.5 error节
1.6 连接生命周期
1.6.1 连接
1.6.2 流的建立
1.6.3 身份验证
1.6.4 连接断开
1.7 小结
第2章 设计XMPP应用程序
2.1 他山之石
2.2 XMPP与HTTP的比较
2.2.1 XMPP的优势
2.2.2 XMPP的不足
2.3 桥接XMPP与Web
2.3.1 长轮询
2.3.2 管理连接
2.3.3 让JavaScfipt理解XMPP协议
2.4 构建XMPP应用程序
2.4.1 浏览器平台
2.4.2 基本的基础设施
2.4.3 协议设计
2.5 小结
第2部分 应用程序
第3章 Hello World第一个应用程序
3.1 应用程序预览
3.2 Hello应用程序设计
3.3 准备
3.3.1 jQuery与jQueryUI
3.3.2 Strophe
3.3.3 flXHR
3.3.4 XMPP账户
3.4 开始构建第一个应用程序
3.4.1 用户界面
3.4.2 应用程序代码
3.5 建立连接
3.5.1 连接生命周期
3.5.2 创建连接
3.5.3 连接Hello
3.5.4 运行应用程序
3.6 创建节
3.6.1 Strophe构建器
3.6.2 打招呼
3.7 处理事件
3.7.1 添加和删除处理程序
3.7.2 节匹配
3.7.3 节处理程序函数
3.7.4 处理Hello响应
3.8 给Hello程序添加新功能
3.9 小结
第4章 探索XMPP协议:一个调试控制台
4.1 应用程序预览
4.2 设计Peek
4.3 构建控制台
4.3.1 用户界面
4.3.2 显示流量
4.3.3 美化XML
4.3.4 处理XML,输入
4.3.5 简化输入
4.4 研究XMPP
4.4.1 控制出席
4.4.2 探测版本
4.4.3 处理错误
4.5 更好的调试
4.6 小结
第5章 实时微博:一个ldontica客户端
5.1 应用程序预览
5.2 Artllur的设计
5.3 Identica微博
5.3.1 建立账户
5.3.2 开启XMPP
5.4 构建Arthur
5.4.1 开始
5.4.2 接收消息
5.5 XHTML-IM
5.5.1 将XHTML-IM添加到Arthur
5.5.2 发送消息
5.6 离线消息
5.7 创建更好的微博客户端
5.8 小结
第6章 与好友交谈:一对一聊天
6.1 应用程序预览
6.2 Gab的设计
6.2.1 出席
6.2.2 消息
6.2.3 聊天区域
6.2.4 花名册区域
6.3 制作界面
6.4 构建花名册
6.4.1 请求花名册
6.4.2 处理IQ
6.4.3 更新出席状态
6.4.4 添加新联系人
6.4.5 响应花名册变化
6.4.6 处理订阅请求
6.5 构建聊天对话
6.5.1 处理标签页
6.5.2 创建新的聊天对话
6.5.3 发送消息
6.6 即时通信最佳实践
6.6.1 理解消息路由
6.6.2 更好地寻址消息
6.7 添加活动通知
6.7.1 理解聊天状态
6.7.2 发送通知
6.7.3 接收通知
6.8 收尾工作
6.9 更多Gab功能
6.10 小结
第7章 探索服务:服务发现与浏览
7.1 应用程序预览
7.2 Dig的设计
7.3 查找信息
7.3.1 disco#info查询
7.3.2 disco#items查询
7.3.3 disco节点
7.4 创建Dig
7.4.1 初始disco查询
7.4.2 浏览disco树
7.5 挖掘服务
7.5.1 查找代理服务
7.5.2 发现功能
7.5.3 寻找聊天对话
7.6 服务发现的更多功能
7.7 小结
第8章 群聊:多人聊天客户端
8.1 应用程序预览
8.2 Groupie的设计
8.3 公开发言
8.3.1 群聊服务
8.3.2 进入和离开房间
8.3.3 发送和接收消息
8.3.4 匿名性
8.3.5 创建房间
8.3.6 理解角色和岗位
8.4 构建界面
8.5 加入房间
8.6 处理出席和消息
8.6.1 处理房间消息
8.6.2 跟踪出席状态变化
8.6.3 聊天历史
8.6.4 保持私密性
8.6.5 描述动作
8.7 管理房间
8.7.1 更换主题
8.7.2 处理麻烦制造者
8.7.3 招募管理员
8.8 改进Groupie
8.9 小结
第9章 发布与订阅:共享画板简介
9.1 SketchCast预览
9.2 SketchCast的设计
9.2.1 一切都是pubsub
9.2.2 展示者的流程
9.2.3 观众的流程
9.3 填写表单
9.3.1 Data Forms扩展
9.3.2 表单元素、字段和类型
9.3.3 标准化的表单字段
9.4 处理pubsub节点
9.4.1 创建节点
9.4.2 配置节点
9.4.3 pubsub事件
9.4.4 发布到节点
9.4.5 订阅和退订
9.4.6 检索订阅情况
9.4.7 获取项
9.4.8 订阅管理
9.5 使用pubsub广播绘图
9.5.1 构建用户界面
9.5.2 使用Canvas绘制草图
9.5.3 登录并建立节点
9.5.4 发布和接收绘图事件
9.6 改进SketchPad
9.7 小结
第10章 与好友一同写作:协作式文本编辑器
10.1 应用程序预览
10.2 NetPad的设计
10.3 操作转换
10.3.1 基本原理
10.3.2 算法细节
10.3.3 实现
10.4 扩展XMPP协议
10.4.1 忽略未知数据
10.4.2 XML命名空间
10.4.3 扩展元素
10.4.4 扩展属性
10.4.5 贡献扩展
10.5 设计协议
10.5.1 测试支持
10.5.2 请求和控制会话
10.5.3 编辑操作
10.6 构建编辑器
10.6.1 初始骨架
10.6.2 启动编辑会话
10.6.3 谈论工作
10.6.4 进行编辑
10.7 扩展NetPad
10.8 小结
第11章 玩游戏:面对面的Tic-Tac-Toe
11.1 应用程序预览
11.2 Toetem的设计
11.3 设计游戏协议
11.3.1 跟踪用户
11.3.2 管理玩家
11.3.3 管理游戏
11.3.4 玩游戏和观看游戏
11.4 Toetem起步
11.5 实现会话和等待列表
11.5.1 裁判员(版本1)
11.5.2 Toetem客户端(版本1)
11.6 实现游戏管理
11.6.1 裁判员(版本2)
11.6.2 Toetem客户端(版本2)
11.7 实现游戏逻辑
11.7.1 Tic-Tac-Toe库
11.7.2 裁判员(版本3)
11.7.3 Toetem客户端(版本3)
11.8 让游戏更有趣
11.9 小结
第Ⅲ部分 高级主题分构
第12章 加入已有会话:引导BOSH
12.1 会话接入
12.1.1 会话技术
12.1.2 用例
12.2 利用会话接入实现自动登录
12.3 小结
第13章 部署XMPP应用程序
13.1 横向扩展
13.1.1 多个连接管理器
13.1.2 XMPP服务器集群
13.1.3 扩展组件
13.1.4 内部联合
13.1.5 成为服务器
13.2 纵向扩展
13.2.1 减少延迟
13.2.2 尽量减少XML序列化
13.2.3 优化DOM操作
13.3 小结
第14章 编写Strophe插件
14.1 使用插件
14.1.1 加载插件
14.1.2 访问插件功能
14.2 构建插件
14.3 创建花名册插件
14.3.1 保存联系人
14.3.2 获取并维护花名册
14.3.3 操纵花名册
14.4 试用插件
14.5 改进花名册插件
14.6 小结
附录A jQuery入门
附录B 设置BOSH连接管理器
猜您喜欢