一种利用浏览器实现即时通信的方法及系统的制作方法

文档序号:7973936阅读:123来源:国知局
专利名称:一种利用浏览器实现即时通信的方法及系统的制作方法
技术领域
本发明涉及即时通信领域,尤其涉及一种利用浏览器实现即时通信的方法 及系统。
背景技术
即时通信技术发展到今天,已经被大多数的网民所接受与认可,成为广大 网民生活中不可缺少的一部分,不但在平时的休闲娱乐中,而且在用户的工作 中得到了广泛的使用。
现有技术中的即时通信系统均采用C/S ( client/server,客户端/服务器)架 构形式,其中即时通信客户端软件安装于用户终端上,用于提供数据存储、消 息转发、状态保存等功能,而设置于网络侧的服务器用于提供输入输出、信息 显示、界面操作等功能。用户进行即时通信时,通过安装于用户终端上的即时 通信客户端软件向网络侧的接入服务器发送登录信息(其中包括用户账号和密 码),接入服务器将该登录信息转发到后台数据库进行匹配验证,如验证成功, 则向即时通信客户端软件返回该用户的好友资料等信息,否则用户登录失败。 用户登录成功以后,就可以与当前已登录的其他用户进行即时通信。
上述现有技术的缺点在于用户每次登录即时通信系统时,其前提条件是在 其使用的终端上必须有对应的即时通信客户端软件。如果没有,则必须首先下 栽并安装即时通信客户端软件,然后通过即时通信客户端软件登录即时通信系 统,与当前已登录的其他用户进行即时通信。但往往由于时间短暂、硬盘容量 或者操作系统等原因,用户在终端上没有安装即时通信客户端软件,而用户又 需要使用即时通信服务,例如用户只是临时使用某台没有安装即时通信客户端 软件的终端,这种情况下用户是无法登录即时通信系统并进行即时通信的。

发明内容
本发明提供一种利用浏览器实现即时通信的方法及系统,用以解决现有技 术中用户必须通过安装于用户终端上的即时通信客户端软件登录即时通信系 统及进行即时通信的问题。
本发明技术方案如下
一种利用浏览器实现即时通信的方法,包括步骤
A、 浏览器登录即时通信后台服务器,当浏览器收到用户发出的即时消息 时,与接入服务器建立HTTP链接发送该即时消息;
B、 接入服务器将所述消息添加到上发队列中,并检测下发队列中是否存 在需要下发给所述用户的消息,若是,利用本次链接发送下发队列最前端的消 息,并在下发完毕后中断链接,否则,中断链接;
C、 浏览器检测到链接已中断时,重新建立与接入服务器的HTTP链接。 较佳的,浏览器登录即时通信后台服务器的具体过程为
浏览器访问用于提供即时通信服务的网页,与接入服务器建立HTTP链接, 通过该链接向接入服务器发送登录请求;
接入服务器将所述登录请求发送给后台服务器进行验证,并将验证响应消 息通过当前存在的HTTP链接发送给浏览器,浏览器处理所述验证响应消息, 将其显示给用户。
较佳的,当浏览器收到的验证响应消息为验证通过消息时,浏览器获取所 述用户的联系人资料信息,具体过程为
Al、浏览器通过与接入服务器建立的HTTP链接向接入服务器发送联系人 资料请求消息;
A2、接入服务器将联系人资料请求消息发送给后台服务器,并通过当前存 在的HTTP链接将接收到的联系人资料发送给浏览器;
A3、浏览器判断接收到的联系人资料是否完整,若是,执行步骤A4,否
则,重复执4亍步骤A1、 A2、 A3;
A4、浏览器显示完整的联系人资料。
较佳的,接入服务器将需要上发的消息转换为后台服务器釆用的协议格式 后添加到上发队列中。
较佳的,若接入服务器检测到下发队列中不存在需要下发给所述用户的消 息,则接入服务器在预设时长后中断本次建立的链接。
较佳的,接入服务器将接收到的下发给所述用户的消息转换为HTTP协议 格式后添加到该用户对应的下发队列中;
接入服务器实时检测下发队列中是否存在待发送的消息,若是,则利用当 前存在的HTTP链接将下发队列中最前端的消息发送给浏览器。
较佳的,所述步骤C中,若浏览器本地存在待发送的即时消息,则浏览器 利用所述重新建立的HTTP链接向接入服务器发送该消息,否则,浏览器利用 所述重新建立的HTTP链接向接入服务器发送心跳消息。
较佳的,所述浏览器向接入服务器发送消息时,为此消息类型指定相应的 回调函数;
所述浏览器根据接收到的消息的类型调用相应的回调函数对其进行处理。 较佳的,所述浏览器利用XHR对象与接入服务器建立HTTP链接。 一种利用浏览器实现即时通信的系统,包括网页服务器、浏览器模块和接 入服务器,其中,
网页服务器,为客户端提供用于即时通信服务的网页; 浏览器模块,设置在客户端側,用于在访问用于即时通信服务的网页时登 录即时通信后台服务器,利用与接入服务器建立的HTTP链接向接入服务器发 送即时消息,并在检测到链接已中断时,重新建立与接入服务器的HTTP链接; 接入服务器,用于将浏览器模块发出的消息添加到上发队列中,并检测下 发队列中是否存在需要下发给所述用户的消息,若是,利用本次链接将下发队 列中最前端的消息发送给所述浏览器模块,并在消息下发完毕后中断链接,否
则,中断链接。
较佳的,所述浏览器模块具体包括
网页元素荻取子模块,用于从网页服务器中获取提供即时通信服务的网页 的页面元素;
链接建立子模块,用于与接入服务器建立HTTP链接;
登录子模块,用于登录后台服务器,从中获取用户的联系人资料信息,并 显示在所述网页中;
通信子模块,用于利用所述建立的HTTP链接向接入服务器发送消息,并 为该消息类型指定回调函数,以及调用回调函数处理接收到的消息,并在检测 到链接已中断时,触发链接建立子模块重新建立与接入服务器的HTTP链接。
较佳的,所述接入服务器具体包括
格式转换模块,用于将需要上发的消息转换为后台服务器采用的协议格式 后添加到消息暂存模块的上发队列中,以及将需要下发的消息转换为浏览器模 块采用的协议格式后添加到消息暂存模块的下发队列中;
消息暂存模块,用于对需要上发的消息及需要下发的消息进行暂存; 消息上传模块,用于将上发队列中的消息依次发送给相应的后台服务器进 行处理;
检测模块,用于检测下发队列中是否存在待发送的消息; 消息下发模块,用于利用当前存在的HTTP链接将下发队列中最前端的即 时消息发送给所述浏览器模块。 本发明有益效果如下
本发明技术方案中浏览器通过AJAX技术,利用XHR对象与接入服务器 建立的HTTP链接向接入服务器发送消息,接入服务器将所述消息添加到上发 队列中,并检测下发队列中是否存在需要下发给所述用户的消息,若是,则利 用本次链接发送下发队列中最前端的消息,并在消息下发完毕后中断链接,否 则。经预设时长后中断链接,浏览器在检测到链接已中断时,重新建立与接入
服务器的HTTP链接,从而达到通过浏览器与接入服务器之间不间断的短链接 实现即时通信的目的。


图1为本发明利用浏览器实现即时通信的方法的主要实现原理流程图; 图2为本发明中用户通过浏览器登录即时通信后台服务器并获取联系人资 料的流程图3为本发明中用户利用浏览器实现与后台服务器之间消息收发的流程
图4为本发明利用浏览器实现即时通信的系统的结构框图。
具体实施例方式
用户终端上的即时通信客户端软件登录即时通信系统及进行即时通信的问题, 而提出一种利用浏览器实现即时通信的解决方案,该方案中浏览器利用与接入 服务器建立的HTTP链接向接入服务器发送消息,接入服务器将所述消息添加 到上发队列中,并检测下发队列中是否存在需要下发给所述用户的消息,若是, 则利用本次链接发送下发队列中最前端的消息,并在消息下发完毕后中断链 接,否则。经预设时长后中断链接,浏览器在检测到链接已中断时,重新建立 与接入服务器的HTTP链接,从而达到通过浏览器与接入服务器之间不间断的 短链接实现即时通信的目的。
下面将结合各个附图对本发明技术方案的具体实施过程进行进一步详细 的阐述。
请参阅图1,该图为本发明利用浏览器实现即时通信的方法的主要实现原 理流程图,其主要实现过程为
步骤SIO、用户访问用于提供即时通信服务的网页,通过浏览器登录后台
服务器从中获取联系人的资料信息并显示。
步骤Sll、用户需要发送消息时,浏览器利用XHR对象与接入服务器建 立的HTTP链接向接入服务器发送该消息,并为此消息类型指定回调函数。
步骤S12、接入服务器将浏览器发出的消息添加到上发队列中,并检测下 发队列中是否存在需要下发给所述用户的消息,若是,执行步骤S13、步骤S14, 否则,执行步骤S15、步骤S16。
步骤S13、接入服务器利用本次链接将下发队列中最前端的消息发送给所 述浏览器,并在消息下发完毕后中断链接。
步骤S14、浏览器根据接收到的消息类型调用相应的回调函数处理接收到 的消息,并在检测到链接已中断时,重新建立与接入服务器的HTTP链接。
步骤S15、接入服务器经预设时长后中断本次链接。
步骤S16、浏览器在检测到链接已中断时,重新建立与接入服务器的HTTP 链接。
请参阅图2,该图为本发明中用户通过浏览器登录即时通信后台服务器并 获取联系人资料的流程图,其主要实现过程为
步骤S20、用户访问用于提供即时通信服务的网页,在所述网页中输入用 于登录即时通信后台服务器的用户标识及密码。
步骤S21、浏览器运行所述网页中的JS脚本程序创建XHR对象,利用该 XHR对象与接入服务器建立HTTP链接,通过该链接向接入服务器发送登录 消息,消息中携带有所述用户标识及密码,同时为此类型的消息指定相应的回 调函数。
XHR对象与接入服务器之间建立的HTTP链接为短链接,接入服务器收 到该链接承载的消息后,检测本地是否存在待发送的消息,若存在,通过本次 链接将待发送的消息发送给浏览器后中断本次链接,若不存在,则经过预定时 长后中断本次链接,浏览器在检测到链接被中断后,重新通过XHR对象建立
与接入服务器之间的链接。
步骤S22、接入服务器将所述登录消息转换为后台服务器采用的协议格式 后,将其发送给相应的后台服务器进行验证。
步骤S23、后台服务器将验证响应消息发送给接入服务器,接入服务器将 验证响应消息转换为HTTP协议格式后通过当前存在的XHR对象与接入服务 器建立的HTTP链接发送给浏览器,由浏览器调用相应的回调函数处理该验证 响应消息,在网页中显示-睑证结果。
步骤S24、浏览器判断收到的验证响应消息是否为验证通过消息,若是, 执行步骤S25,否则,流程结束。
步骤S25、浏览器判断当前是否存在空闲的XHR对象,若是,浏览器利 用所述空闲的XHR对象与接入服务器建立HTTP链"^妄,否则,浏览器运行所 述网页中的JS脚本程序创建XHR对象,利用该XHR对象与接入服务器建立 HTTP链接,通过所述建立的链接向接入服务器发送联系人资料请求消息,并 为此消息类型指定回调函数。
步骤S26、接入服务器将所述联系人资料请求消息转换为后台服务器采用 的协议格式后,将其发送给相应的后台服务器进行处理,并将接收到的联系人 资料通过当前存在的XHR对象与接入服务器建立的HTTP链接发送给浏览器。
步骤S27、浏览器判断接收到的联系人资料是否完整,若是,执行步骤S28, 否则,返回步骤S25。
步骤S28、浏览器调用相应的回调函数显示完整的联系人资料。
请参阅图3,该图为本发明中用户利用浏览器与后台服务器进行消息通信 的流程图,其主要实现过程为
步骤S30、用户需要发送消息时,浏览器判断当前是否存在空闲的XHR 对象,若是,则利用该XHR对象与接入服务器建立HTTP链接,否则,运行 所述网页中的JS脚本程序创建XHR对象,利用该XHR对象与接入服务器建 立HTTP链接,通过所述建立的链接向接入服务器发送消息,同时为此类型的 消息指定对应的回调函数。所述用户发送消息为用户手动发出的聊天消息或者用户端自动发出的系 统消息。
步骤S31、接入服务器将需要上发的消息转换为后台服务器采用的协议格 式后添加到上发队列中,同时检测下发队列中是否存在需要下发给所述用户的 消息,若存在,执行步骤S32,否则,执行步骤S33。
接入服务器在收到后台服务器下发的消息时,首先将该消息转换为HTTP 协议格式,然后将其添加到目标用户对应的下发队列中。
步骤S32、接入服务器利用本次链接发送下发队列中最前端的消息,并在 消息下发完毕后中断链接。
步骤S33、接入服务器经预设时长后中断链接。
步骤S34、浏览器调用相应的回调函数处理接收到的消息,并在检测到链
接已中断时,重新建立与接入服务器的HTTP链接。
步骤S35、浏览器判断本地是否存在待发送的消息,若是,执行步骤S36,
否则,执行步骤S37。
步骤S36、浏览器利用所述重新建立的链接向接入;i良务器发送该消息。 步骤S37、浏览器利用所述重新建立的链接向接入服务器发送心跳消息。 在上述过程中,所述接入服务器实时检测下发队列中是否存在待发送的消
息,若是,则利用当前存在的XHR对象与接入服务器建立的HTTP链接将下
发队列中最前端的消息发送给所述浏览器。
相应于本发明上述利用浏览器实现即时通信的方法,本发明进而提出了 一
种利用浏览器实现即时通信的系统,请参阅图4,该图为本发明利用浏览器实
现即时通信的系统的结构框图,其主要包括网页服务器40、浏览器模块50和
接入服务器60,其中,
网页服务器40,用于为客户端提供用于即时通信服务的网页; 浏览器模块50,设置在客户端侧,用于从网页服务器40中获取提供即时
通信服务的网页,登录后台服务器从中获取用户的联系人资料信息,利用XHR
对象与接入服务器建立的HTTP链接向接入服务器发送即时消息,并为该消息 类型指定回调函数,以及调用回调函数处理接收到的消息,并在检测到链接已 中断时,重新建立与接入服务器的HTTP链接;
接入服务器60,用于将浏览器模块50发出的消息添加到上发队列中,并 检测下发队列中是否存在需要下发给所述用户的消息,若是,利用本次链接将 下发队列中最前端的消息发送给所述浏览器模块50,并在消息下发完毕后中断 链接,否则。经预设时长后中断链接。
其中,所述浏览器模块50具体包括
网页元素获取子模块501,用于从网页服务器中获取提供即时通信服务的 网页的页面元素;
链接建立子模块502,用于利用XHR对象与接入服务器建立HTTP链接;
登录子模块503,用于登录后台服务器,从中获取用户的联系人资料信息, 并显示在所述网页中,登录子模块502登录及获取联系人资料信息的具体过程 可参见上述步骤S20至步骤S29,不再赘述。
通信子模块504,用于利用所述建立的HTTP链接向接入服务器60发送消 息,并为该消息类型指定回调函数,以及调用回调函数处理接收到的消息,并 在检测到链接已中断时,触发链接建立子模块重新建立与接入服务器60的 HTTP链接,在所述HTTP链接重新建立后,通信子模块504检测本地是否存 在待发送的消息,若是,向接入服务器60发送该消息,否则,向接入服务器 60发送心跳消息。
其中,所述接入服务器60具体包括
格式转换模块601,用于将需要上发的消息转换为后台服务器采用的协议 格式后添加到消息暂存模块的上发队列中,以及将需要下发的消息转换为浏览 器模块50采用的协议格式后添加到消息暂存模块602的下发队列中;
消息暂存模块602,用于对需要上发的消息及需要下发的消息进行暂存; 消息上传模块603,用于将上发队列中的消息依次发送给相应的后台服务
器进行处理;
检测模块604,用于检测下发队列中是否存在待发送的消息; 消息下发模块605,用于利用当前存在的XHR对象与接入服务器60建立 的HTTP链接将下发队列中最前端的即时消息发送给所述浏览器模块50。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种利用浏览器实现即时通信的方法,其特征在于,包括步骤A、浏览器登录即时通信后台服务器,当浏览器收到用户发出的即时消息时,与接入服务器建立HTTP链接发送该即时消息;B、接入服务器将所述消息添加到上发队列中,并检测下发队列中是否存在需要下发给所述用户的消息,若是,利用本次链接发送下发队列最前端的消息,并在下发完毕后中断链接,否则,中断链接;C、浏览器检测到链接已中断时,重新建立与接入服务器的HTTP链接。
2、 如权利要求1所述的方法,其特征在于,浏览器登录即时通信后台服 务器的具体过程为浏览器访问用于提供即时通信服务的网页,与接入服务器建立HTTP链接, 通过该链接向接入服务器发送登录请求;接入服务器将所述登录请求发送给后台服务器进行验证,并将验证响应消 息通过当前存在的HTTP链接发送给浏览器,浏览器处理所述验证响应消息, 将其显示给用户。
3、 如权利要求2所述的方法,其特征在于,当浏览器收到的验证响应消 息为—睑证通过消息时,浏览器获取所述用户的联系人资料信息,具体过程为Al 、浏览器通过与接入服务器建立的HTTP链接向接入服务器发送联系人 资料请求消息;A2、接入服务器将联系人资料请求消息发送给后台服务器,并通过当前存 在的HTTP链接将接收到的联系人资料发送给浏览器;A3、浏览器判断接收到的联系人资料是否完整,若是,执行步骤A4,否 则,重复执行步骤A1、 A2、 A3;A4、浏览器显示完整的联系人资料。
4、 如权利要求1所述的方法,其特征在于,接入服务器将需要上发的消 息转换为后台服务器釆用的协议格式后添加到上发队列中。
5、 如权利要求1所述的方法,其特征在于,若接入服务器检测到下发队 列中不存在需要下发给所迷用户的消息,则接入服务器在预设时长后中断本次 建立的链接。
6、 如权利要求5所述的方法,其特征在于,接入服务器将接收到的下发 给所述用户的消息转换为HTTP协议格式后添加到该用户对应的下发队列中;接入服务器实时检测下发队列中是否存在待发送的消息,若是,则利用当 前存在的HTTP链接将下发队列中最前端的消息发送给浏览器。
7、 如权利要求l所述的方法,其特征在于,所述步骤C中,若浏览器本 地存在待发送的即时消息,则浏览器利用所述重新建立的HTTP链接向接入服 务器发送该消息,否则,浏览器利用所述重新建立的HTTP链接向接入服务器 发送心跳消息。
8、 如权利要求1至7中任意一项所述的方法,其特征在于,所述浏览器 向接入服务器发送消息时,为此消息类型指定相应的回调函数;所述浏览器按照接收到的消息的类型调用相应的回调函数对其进行处理。
9、 如权利要求1至7中任意一项所述的方法,其特征在于,所述浏览器 利用XHR对象与接入服务器建立HTTP链接。
10、 一种利用浏览器实现即时通信的系统,其特征在于,包括网页服务器、 浏览器模块和接入服务器,其中,网页服务器,为客户端提供用于即时通信服务的网页;浏览器模块,设置在客户端侧,用于在访问用于即时通信服务的网页时登 录即时通信后台服务器,利用与接入服务器建立的HTTP链接向接入服务器发 送即时消息,并在检测到链接已中断时,重新建立与接入服务器的HTTP链接;接入服务器,用于将浏览器模块发出的消息添加到上发队列中,并检测下 发队列中是否存在需要下发给所述用户的消息,若是,利用本次链接将下发队 列中最前端的消息发送给所述浏览器模块,并在消息下发完毕后中断链接,否 则,中断链接。
11、 如权利要求IO所述的系统,其特征在于,所述浏览器模块具体包括 网页元素获取子模块,用于从网页服务器中获取提供即时通信服务的网页的页面元素;链接建立子模块,用于与接入服务器建立HTTP链接;登录子模块,用于登录后台服务器,从中获取用户的联系人资料信息,并 显示在所述网页中;通信子模块,用于利用所述建立的HTTP链接向接入服务器发送消息,并 为该消息类型指定回调函数,以及调用回调函数处理接收到的消息,并在检测 到链接已中断时,触发链接建立子模块重新建立与接入服务器的HTTP链接。
12、 如权利要求10或11所述的系统,其特征在于,所述接入服务器具体 包括格式转换模块,用于将需要上发的消息转换为后台服务器采用的协议格式 后添加到消息暂存模块的上发队列中,以及将需要下发的消息转换为浏览器模 块采用的协议格式后添加到消息暂存模块的下发队列中;消息暂存模块,用于对需要上发的消息及需要下发的消息进行暂存; 消息上传才莫块,用于将上发队列中的消息依次发送给相应的后台服务器进 行处理;检测模块,用于检测下发队列中是否存在待发送的消息; 消息下发模块,用于利用当前存在的HTTP链接将下发队列中最前端的即 时消息发送给所述浏览器模块。
全文摘要
本发明公开了一种利用浏览器实现即时通信的方法及系统,所述方法包括浏览器登录即时通信后台服务器,当浏览器收到用户发出的即时消息时,与接入服务器建立HTTP链接发送该即时消息,接入服务器将所述消息添加到上发队列中,并检测下发队列中是否存在需要下发给所述用户的消息,若是,利用本次链接发送下发队列最前端的消息,并在下发完毕后中断链接,否则,中断链接,浏览器检测到链接已中断时,重新建立与接入服务器的HTTP链接;所述系统包括网页服务器、浏览器模块及接入服务器。本发明通过浏览器与接入服务器之间不间断的短链接实现了即时通信。
文档编号H04L12/58GK101179518SQ20061016229
公开日2008年5月14日 申请日期2006年12月19日 优先权日2006年12月19日
发明者李 朱, 谦 杨, 高自光 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1