Board logo

标题: 创建基于 Ajax 的 IM 客户端(1) [打印本页]

作者: look_w    时间: 2018-8-9 10:11     标题: 创建基于 Ajax 的 IM 客户端(1)

有关本教程在本教程中,您将使用 Prototype Javascript 库及 Jabber 服务器创建一个基于 Web 的即时消息客户端。创建完成后,您将可以选择您的好友列表中的用户并能通过 Web 页面向传统 IM 客户端上的用户发送(或接收)消息。
在本教程中,您将了解:
所有这些最终会给您带来一个能将即时消息通信量转变为纯 HTTP 的应用程序,这样您就不会遇到防火墙问题。
先决条件本教程使用了如下工具,所有这些工具均在第一部分设置:
进行准备本项目涉及了很多不同的块(正如  中所看到的),让我们先来看看它们是如何协同工作的。
将要实现的目标即时消息将世界联系的更紧密了 — 或者至少压缩了实现诸多事情所需的时间。在很多情况下,这是件好事。但在某些情况下,却是个问题,因为出于安全性方面的考虑,很多环境都禁止使用即时消息。
所幸的是,这一问题通过将即时消息通信量转变为纯 Web 通信量能够得到解决。在本教程中,我们将创建一个基于 Ajax 的 Web 客户端,用于进行即时消息传递。此页面包括 roster 或好友列表,并具有发起和维护与其中所列人员会话的能力。
简而言之,您可以从此 Web 页面发送消息并让其在好友的 IM 客户端上弹出,而且他们从其客户端上发回的消息也能显示在 Web 页面上供您查看。
重温 Ajax如果已经开始阅读本教程,您可能已经非常熟悉 Ajax,不过为了以防万一我们还是先来温习一下。
Ajax 是一组技术和技巧的组合,可用来创建 Web 页面,其中的内容可分别更改。无需更新整个页面,只更改页面的一部分 — 比如实时交流 — 即可。这些信息大都通过 HTTP 来自于外部服务器。
请注意,Ajax 请求只可使用与发出请求的页面相同的协议、主机和端口,所以需要在 Web 服务器上托管此聊天客户端。
Prototype 简介要进行所有这些 Ajax 调用是一件很复杂的事情:需要打开连接、侦听连接状态的更改、解析结果并相应进行动作。
所幸的是,现在已纪出现了很多简化此过程的库,最简单的一种方式是使用 Prototype.js。此库包含增强功能,可用来处理页面的文本对象模型( Document Object Model)— 让一般的 JavaScript 任务变得十分简单 — 以及 Ajax 对象。Ajax 对象可显式提供使用远端数据更新部分页面的能力。它甚至包括了经常性地更新信息的能力。
本教程对 JavaScript 和 Ajax 间的交互使用了 Prototype。
Jabber 简介目前有很多不同的即时消息系统,有些可互操作,但是大部分不可以。Jabber 是面向消息传递应用程序的一种开放标准,这些消息传递应用程序大都包括发送和接收消息、好友列表管理(通过 roster)和在线检测(这样,您就可以知道好友是否登录)功能。
本教程使用了此标准的开源实现来将消息从 Web 页面传递给 Spark 即时消息客户端(或任何其他的 Jabber 客户端)并将消息发回。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0