论文部分内容阅读
即时通讯是一种使人们能在网上识别在线用户并与他们实时交换消息的技术,它已经成为人们日常交流的一种重要手段,尤其是广大中学生的至爱。互联互通和客户端Web化(即WebIM)已经成为即时通讯应用的发展方向。不过,现有的IM软件(如腾讯QQ、Windows Live Messenger和Yahoo! Messenger等)都不支持数学内容,且由于各自协议的封闭性而无法互通和不支持二次开发。MathML是描述数学的低级别规格,它为在网页中包含数学表达式提供了必要的基础,同时也为机器到机器的通信提供了起点。MathML能确保屏幕渲染和打印的速度最快且质量最好,不过MathML语言是面向“机器”的,它不适合用户直接使用。为允许用户以可视化方式输入和编辑MathML公式,美国Design Science公司专门开发了一个名为WebEQ Input的Java Applet控件程序;而由美国查普曼大学的Peter Jipsen副教授开发的ASCIIMathML库则支持LaTeX和计算器样式的数学公式输入,所输入的文本将通过脚本自动转换成标准的MathML格式。IMPP定义了各种即时通讯/出席协议必须达到的要求。XMPP是符合IMPP要求的可扩展的通讯与出席协议,通过它能以接近于实时的方式在任意两个网络端点之间交换结构化信息并提供通讯、出席和请求响应服务。XML节是XMPP中最重要的概念,它是通过XML流从一个实体发送到另一个实体的结构化信息的离散的语义单位。基于XMPP的即时通讯主要有交换消息/出席和管理订阅/名册等功能。Ajax是目前最主要的Web应用模型,XMPP还通过扩展制定了基于Ajax技术的BOSH(又叫HTTP绑定)协议,从而为基于Web的即时通讯提供了标准。JSJaC是由德国Stefan Strigler用JavaScript开发的XMPP客户端库,它使得实现基于Web的客户端变得容易。Openfire是由Jive Software公司领导开发的基于XMPP协议的跨平台实时协作服务器,并且也是目前对HTTP绑定支持得最好的。本文在研究和掌握已有的这些技术、协议、组件和系统的基础上,创造性地将数学问题的交流和即时通讯应用结合起来,并且给出了基于Web的具体实现。