2012 年 第 2 1 卷 第 12 期 计 算 机 系 统 应 用
基于php 和服务器推技术的 Web 即时聊天系统①
王振兴, 黄 静
(天津大学 管理与经济学部, 天津 300072)
摘 要: 基于 http 协议应用于 Web 端, 实现一个浏览器无关的、便于移植的、高性能的 Web 即时聊天系统. 系统
使用服务器推技术中的 ajax 长轮询模型构建 http 通讯模型, 利用开源 LAMP 架构搭建服务器端程序, 并使用
XML 文件系统存储即时聊天内容, 前端使用javascript 的jquery 框架实现与浏览器无关的 ajax 前端程序. 提供包
括文本表情模式的聊天, 便于整合到社交类型的网站中. 项目实践表明, 基于 php 和服务器推技术的 Web 即时聊
天系统稳定性高, 具有一定的使用价值.
关键词: Web; 即时聊天; 服务器推; php; ajax 长轮询
Web Instant Messaging System Based on Server Push Technology and php
WANG Zhen-Xing, HUANG Jing
(Department of Management and Economics, Tianjin University, Tianjin 300072, China)
Abstract: Based on the http protocol used in the Web side, it realizes a not browser based, easy to transplant, high-
performance real-time web chat system. System uses the ajax long polling model of the server push technique to build
the http communication, using the open source LAMP architecture to build server-side programs, and use the xml file
system to store real-time chat content, the front using the javascript jquery framework to achieve and browse device-
independent ajax front-end program. Text chat and expressions, and ease of integration into the sns type of site. Project
practice shows that the web php-based server push model real time chat system stability, it has a certain value.
Key words: web; instant messaging system; server push technology; php; ajax long polling
随着 web2.0 的发展, 即时聊天也开始 Web 化. 即 用浏览器作为客户端, 就需要兼容各种浏览器. 为了实
时通讯(Instant Messaging, 简称 IM) 是指使用在线识别 现实时性, 服务器端需要一个高效稳定的架构模式. 针
用户和实时交换信息技术, 依靠互联网平台和移动通 对 http 协议是无连接状态, 本文实现的系统使用 comet
讯平台, 以多种信息格式(文字、图片、声音、视频等) 服务器推中的 ajax 长轮询模式, 实现一个 http 长连接,
沟通为目的, 通过多平台、多终端的通讯技术来实现的 这样就能保证聊天的即时性. 在客户端使用jquery 框架
同平台、跨平台的低成本高效率的综合通讯方式[1,2].