一种实时网站推送消息的方法

文档序号:7820664阅读:1011来源:国知局
一种实时网站推送消息的方法
【专利摘要】本发明涉及软件开发【技术领域】,具体涉及一种实时网站推送消息的方法。本发明通过web客户端发送请求到服务端,服务器端阻塞请求直到有数据传递或超时才返回;之后客户端JavaScript响应处理函数在处理完服务器返回的信息后,再次发出请求,重新建立连接;当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到web客户端重新建立连接;客户端一次将当前服务器端所有的信息取回;从而网站用户可以实时接收到服务端发送的消息,避免消息接收滞后。本发明服务器与客户端的实时通信。
【专利说明】 一种实时网站推送消息的方法

【技术领域】
[0001]本发明涉及软件开发【技术领域】,具体涉及一种实时网站推送消息的方法。

【背景技术】
[0002]现在是信息化时代,信息化使人类以更快更便捷的方式获得并传递人类创造的一切文明成果。信息的滞后,会带来一些不必要的麻烦,甚至是重大的经济损失。信息的及时性就显得尤为重要,在第一时间对获取的信息作出响应。.


【发明内容】

[0003]本发明解决的技术问题在于提供一种实时网站推送消息的方法,为用户提供一种及时、闻效的获取?目息的方法。
[0004]本发明解决上述技术问题的技术方案是:
[0005]通过web客户端发送请求到服务端,服务器端阻塞请求直到有数据传递或超时才返回;之后客户端JavaScript响应处理函数在处理完服务器返回的信息后,再次发出请求,重新建立连接;当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到web客户端重新建立连接;客户端一次将当前服务器端所有的信息取回;从而网站用户可以实时接收到服务端发送的消息,避免消息接收滞后。
[0006]所述的方法包括如下步骤:
[0007]第I步、首先客户端和服务端交互采用的Bayeux协议;
[0008]第2步、客户端向服务端(/meta/handshake频道上)发起握手请求;
[0009]第3步、服务端收到握手请求,BayeuxServer创造了一个半服务器对象的实例;月艮务端处理完握手请求后,发送响应给客户端;
[0010]第4步、客户端收到服务端处理握手请求的响应,如果成功,则:
[0011]a.向服务端发起订阅服务的请求;
[0012]b.开始与服务端的心跳机制,来交换连接的信息;
[0013]第5步、服务端再启动时初始化两个服务频道
[0014]a./service/privatechat 自定义频道
[0015]b./service/joinlisten 自定义频道
[0016]第6步、客户端向服务端发起订阅/service/privatechat服务,此服务用来实现用户之间的聊天;
[0017]第7步、开始心跳机制;
[0018]第8步、心跳机制,建立HTTP长轮询;
[0019]第9步、心跳机制,允许客户端检测服务器是否关闭了,并允许服务端检测客户端是否关闭了;
[0020]第10步、客户端和服务器之间的连接的消息一直都有,直至任何一方决定中断并发送一个disconnect的消息;
[0021]第11步、客户端可以向服务端/service/joinlisten频道发送请求;
[0022]第12步、所有初始化工作都已准备完毕,客户端之间就可以任意发送信息。
[0023]本发明的有益效果是:通过实时网站推送消息的方法,让用户能及时的获取有用的信息,监控web应用的访问情况,实现及时发现问题、及时处理问题,大大减少客户无法访问应用的时间,把损失降到最低。

【专利附图】

【附图说明】
[0024]下面结合附图对本发明进一步说明:
[0025]图1为本发明的业务流程图。

【具体实施方式】
[0026]见附图所示,本发明通过web客户端发送请求到服务端,服务器端会阻塞请求直到有数据传递或超时才返回,之后客户端JavaScript响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。当客户端处理接收的数据、重新建立连接时,月艮务器端可能有新的数据到达;这些信息会被服务器端保存直到web客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回,让网站用户可以实时接收到服务端发送的消息,避免消息接收滞后,造成的损失!
[0027]下面我们以某个推送消息的应用为例,讲述该方法的实施:
[0028]第I步、首先客户端和服务端交互采用的Bayeux协议;
[0029]第2步、客户端向服务端(/meta/handshake频道上)发起握手请求。Bayeux协议要求,一个新的客户端发送的第一条消息是一个握手信息;
[0030]第3步、服务端收到握手请求,BayeuxServer创造了一个半服务器对象的实例(一个ServerSess1n)。服务端处理完握手请求后,发送响应给客户端;
[0031]第4步、客户端收到服务端处理握手请求的响应,如果它是成功,接下来要做两件事情:
[0032]a.向服务端发起订阅服务的请求。
[0033]b.开始与服务端的心跳机制,来交换连接的信息;
[0034]第5步、服务端再启动时初始化了两个服务频道
[0035]a./service/privatechat 自定义频道
[0036]b./service/joinlisten 自定义频道
[0037]第6步、客户端向服务端发起订阅/service/privatechat服务,此服务用来实现用户之间的聊天
[0038]第7步、开始心跳机制
[0039]第8步、心跳机制,建立HTTP长轮询。
[0040]第9步、心跳机制,允许客户端检测服务器是否关闭了,并允许服务端检测客户端是否关闭了。
[0041]第10步、客户端和服务器之间的连接的消息一直都有,直至任何一方决定中断并发送一个disconnect的消息(发送/meta/disconnect断开通道消息)
[0042]第11步、客户端可以向服务端/service/joinlisten频道发送请求
[0043]第12步、所有初始化工作都已准备完毕,客户端之间就可以任意发送信息。
【权利要求】
1.一种实时网站推送消息的方法,其特征在于:通过web客户端发送请求到服务端,月艮务器端阻塞请求直到有数据传递或超时才返回;之后客户端JavaScript响应处理函数在处理完服务器返回的信息后,再次发出请求,重新建立连接;当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到web客户端重新建立连接;客户端一次将当前服务器端所有的信息取回;从而网站用户可以实时接收到服务端发送的消息,避免消息接收滞后。
2.根据权利要求1所述的实时网站推送消息的方法,其特征在于:所述的方法包括如下步骤: 第I步、首先客户端和服务端交互采用的Bayeux协议; 第2步、客户端向服务端(/meta/handshake频道上)发起握手请求; 第3步、服务端收到握手请求,BayeuxServer创造了一个半服务器对象的实例;服务端处理完握手请求后,发送响应给客户端; 第4步、客户端收到服务端处理握手请求的响应,如果成功,则: a.向服务端发起订阅服务的请求; b.开始与服务端的心跳机制,来交换连接的信息; 第5步、服务端再启动时初始化两个服务频道 a./service/privatechat 自定义步页道 b./service/joinlisten 自定义步页道 第6步、客户端向服务端发起订阅/service/privatechat服务,此服务用来实现用户之间的聊天; 第7步、开始心跳机制; 第8步、心跳机制,建立HTTP长轮询; 第9步、心跳机制,允许客户端检测服务器是否关闭了,并允许服务端检测客户端是否关闭了 ; 第10步、客户端和服务器之间的连接的消息一直都有,直至任何一方决定中断并发送一个disconnect的消息; 第11步、客户端可以向服务端/service/joinlisten频道发送请求; 第12步、所有初始化工作都已准备完毕,客户端之间就可以任意发送信息。
【文档编号】H04L29/08GK104394212SQ201410683166
【公开日】2015年3月4日 申请日期:2014年11月23日 优先权日:2014年11月23日
【发明者】庞毅, 关班记, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1