页面与长连接服务器间的通信方法及客户端的制作方法

文档序号:7822596阅读:124来源:国知局
页面与长连接服务器间的通信方法及客户端的制作方法
【专利摘要】本发明提供了一种页面与长连接服务器间的通信方法及客户端。该方法包括:根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与所述长连接服务器间建立长连接通道;接收所述长连接服务器下发的传输消息;将所述传输消息转发至所述当前页面。采用本发明能够增加了消息传输的安全性和可靠性。
【专利说明】页面与长连接服务器间的通信方法及客户端

【技术领域】
[0001]本发明涉及互联网应用领域,特别是涉及一种页面与长连接服务器间的通信方法及客户端。

【背景技术】
[0002]随着互联网技术的发展,页面的应用越来越广泛,常见的页面包括浏览器页面,网络游戏页面,手机游戏中的礼包领取页面和/或用户信息收集页面,视频类应用的聊天页面、商城页面、聊天室页面等等。
[0003]页面能够与外界进行信息交互,现有技术中,页面直接与长连接服务器进行通信。但是,由于页面(也称为前端)不具备连接长连接服务器的能力,因此,页面与长连接服务器间的通信必然需要通过人为的维护实现。现有技术中,前端通过一个通道和长连接服务器连接,每隔固定时间(例如30)秒询问前端是否有数据更新,前端与长连接服务器间的消息推送或传输是基于轮询的访问机制实现。
[0004]因此,现有技术中,页面与长连接服务器间的通信需要人为维护,耗费较大。另外,消息的推送或传输是基于轮询机制实现,也存在一定的时延。


【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的页面与长连接服务器间的通信方法和相应的客户端。
[0006]基于本发明的一个方面,本发明提供了一种页面与长连接服务器间的通信方法,包括:
[0007]根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与所述长连接服务器间建立长连接通道;
[0008]接收所述长连接服务器下发的传输消息;
[0009]将所述传输消息转发至所述当前页面。
[0010]可选地,在本地与所述长连接服务器间建立长连接通道之后,还包括:
[0011]将所述当前页面的标识ID发送至所述长连接服务器,以供所述长连接服务器根据所述ID查找到内容下发对象,其中,本地标识与所述ID--对应。
[0012]可选地,所述长连接服务器下发的传输消息包括:
[0013]其他页面通过业务服务器发出的业务消息;和/或,
[0014]所述业务服务器广播的系统消息;
[0015]其中,所述业务消息和/或所述系统消息均包括所述当前页面的ID。
[0016]可选地,在所述根据当前页面发送的长连接服务器地址查找到对应的长连接服务器之前,还包括:
[0017]选择能够与长连接服务器间建立稳定的长连接通道的主体,作为所述页面与长连接服务器间的通信方法的实施主体。
[0018]可选地,所述主体为flash。
[0019]可选地,在本地与所述长连接服务器间建立长连接通道,包括:
[0020]使用FLASH socket协议在flash与所述长连接服务器间建立长连接通道。
[0021]基于本发明的另一个方面,本发明还提供了一种页面与长连接服务器间的通信客户端,包括:
[0022]连接建立组件,用于根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与所述长连接服务器间建立长连接通道;
[0023]传输组件,用于接收所述长连接服务器下发的传输消息,并将所述传输消息转发至所述当前页面。
[0024]可选地,所述传输组件,还用于将所述当前页面的标识ID发送至所述长连接服务器,以供所述长连接服务器根据所述ID查找到内容下发对象,其中,本地标识与所述ID
——对应。
[0025]可选地,所述长连接服务器下发的传输消息包括:
[0026]其他页面通过业务服务器发出的业务消息;和/或,
[0027]所述业务服务器广播的系统消息;
[0028]其中,所述业务消息和/或所述系统消息均包括所述当前页面的ID。
[0029]可选地,所述页面与长连接服务器间的通信客户端为flash。
[0030]可选地,所述连接建立组件还用于使用FLASH socket协议在flash与所述长连接服务器间建立长连接通道。
[0031]根据上述分析可以看出,在本发明实施例中,由具备通信能力的主体替代页面与长连接服务器进行通信,页面只需要对主体转发传输消息进行处理,无须定期主动到长连接服务器查询是否在新的消息,提高了消息接收的实时性。而主体与长连接服务器间建立的长连接通道是稳定的,不需要人工维护,降低资源损耗,并且,稳定的长连接通道不容易产生丢包漏包事件,大大增加了消息传输的安全性和可靠性。
[0032]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0033]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

【专利附图】

【附图说明】
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0035]图1示出了根据本发明一个实施例的页面与长连接服务器间的通信方法的处理流程图;
[0036]图2示出了根据本发明一个实施例的flash作为主体实现页面与长连接服务器间的通信方法的消息传输路径的示意图;以及
[0037]图3示出了根据本发明一个实施例的页面与长连接服务器间的通信客户端的结构示意图。

【具体实施方式】
[0038]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0039]为解决上述技术问题,本发明实施例提供了一种页面与长连接服务器间的通信方法。图1示出了根据本发明一个实施例的页面与长连接服务器间的通信方法的处理流程图。参见图1,该页面与长连接服务器间的通信方法至少包括步骤S102至步骤S106:
[0040]步骤S102、根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与长连接服务器间建立长连接通道。
[0041]在步骤S102之前,当前页面查找到其对应的长连接服务器地址,将其转发。相应的,在步骤S102中接收当前页面发送的长连接服务器地址,并相应查找到对应的长连接服务器,从而在本地和长连接服务器间建立长连接通道。由此可见,本发明实施例并不需要在页面与长连接服务器间建立长连接通道,而是在除页面外的其他应用或客户端或设备或装置与长连接服务器建立长连接通道。对于页面来说,这种连接方式将不擅长与长连接服务器进行通信的页面解放出来,减轻页面的负载,提高页面的工作效率。
[0042]相应的,为减轻的页面的负载,在步骤S102实施之前,还需要选择能够与长连接服务器间建立稳定的长连接通道的主体,作为所述页面与长连接服务器间的通信方法的实施主体。S卩,该主体具备独立的通信能力,能够与长连接服务器间进行通信。稳定的长连接通道无须人工维护,相对于现有技术中的普通页面与长连接服务器的通信而言,降低了人工损耗。另外,长连接通道是稳定的,无须采用轮询机制定期询问是否有数据更新,是否需要进行消息传输或推送,能够达到实时推送或传输更新数据或消息的目的,降低时延。
[0043]优选地,可以采用flash作为主体,实现页面与长连接服务器间的通信方法。选择flash的理由是考虑到flash的功能,其能够直接与服务器做通信,例如接收长连接服务器下发的内容,等等;并且,能够与页面(也称为前端)进行数据交流,例如将从长连接服务器接收的内容转至页面处理等等。进一步,此时可以使用与flash适配的FLASH socket协议在flash与长连接服务器间建立长连接通道。
[0044]其中,长连接服务器地址的获取方式如下。页面首先发送请求长连接服务器地址的请求消息至对应的业务服务器。业务服务器接收请求消息后,为本页面分配长连接服务器,并将分配的长连接服务器地址利用应答消息发送至页面。随后,页面接收到业务服务器返回的包括长连接服务器地址的应答消息,进而将长连接服务器地址发送至本实施例选择的作为实施主体的主体。随后,主体利用长连接服务器地址查找到分配的长连接服务器,并建立长连接通道(即步骤S102)。
[0045]步骤S104、接收长连接服务器下发的传输消息。
[0046]在本步骤中,长连接服务器会识别不同的主体,将传输消息分别对应发送不同的主体。为识别不同的主体,当本地实体与长连接服务器间建立长连接通道之后,将当前页面的标识(ID)发送至长连接服务器,以供长连接服务器根据ID查找到内容下发对象,其中,本地标识与ID —一对应。即,每个主体与页面绑定,其ID是相同的,长连接服务器根据ID识别每个传输消息的目的地址,降低错包漏包的概率,提高消息传输的安全性和可靠性。
[0047]步骤S106、将传输消息转发至当前页面。
[0048]主体接收到传输消息之后,将其转发至当前页面,由当前页面进行处理。
[0049]根据上述分析可以看出,在本发明实施例中,由具备通信能力的主体替代页面与长连接服务器进行通信,页面只需要对主体转发传输消息进行处理,无须定期主动到长连接服务器查询是否在新的消息,提高了消息接收的实时性。而主体与长连接服务器间建立的长连接通道是稳定的,不需要人工维护,降低资源损耗,并且,稳定的长连接通道不容易产生丢包漏包事件,大大增加了消息传输的安全性和可靠性。
[0050]本发明实施例中提及的页面包括浏览器页面,还包括网络游戏页面,手机游戏中的礼包领取页面和/或用户信息收集页面,视频类应用的聊天页面、商城页面、聊天室页面等等。
[0051]在本发明实施例中,长连接服务器下发的传输消息的种类有多种,其中最主要的两种包括:
[0052]第一种是其他页面通过业务服务器发出的业务消息;
[0053]例如,游戏页面发出的针对好友的上线通知消息,其消息推送或传输对象是指定用户群(好友数通常从一到几百不等)。
[0054]第二种是业务服务器广播的系统消息;
[0055]例如,游戏页面发出的系统通知,游戏页面的升级维护通知、新增服务器通知、用户功能增加通知等,其消息推送或传输对象是整个系统用户。
[0056]其中,长连接服务器下发至本页面的传输消息(业务消息和/或系统消息)均包括本页面的ID,长连接服务器利用该ID识别出与ID对应的主体,并将传输消息(业务消息和/或系统消息)发送到该主体。
[0057]以聊天页面为例,本页面需要与其他页面进行消息交互,本页面可以作为消息发送方,也可以作为消息接收方。当本页面作为消息发送方时,将消息发送至业务服务器,由业务服务器转发至长连接服务器,再由长连接服务器转发至其他页面。当本页面作为消息接收方时,接收来自长连接服务器下发的消息,当然该消息来自其他页面。即,本发明实施例中,页面可以和其他页面进行信息交互,从而可以应用到聊天、聊天室、直播室等功能上。具体的,聊天的页面之间根据如下步骤进行交互:
[0058]长连接服务器将业务消息推送到不同的flash上,不同的用户有自己的flash,长连接服务器能够识别不同的页面进行有针对性的发送,即,通过长连接通道,针对性的推给某个人(页面用户)。
[0059]现以flash为例进行说明。图2示出了根据本发明一个实施例的flash作为主体实现页面与长连接服务器间的通信方法的消息传输路径的示意图。需要说明的是,本例中传输的消息为页面间交互的业务消息。参见图2,该图中各路径的传输过程如下:
[0060]步骤S202、页面发送请求长连接服务器地址的请求消息给业务服务器;
[0061]步骤S204、业务服务器返回长连接服务器的地址;
[0062]步骤S206、页面将长连接服务器的地址通知flash ;
[0063]步骤S208、flash与上述地址对应的长连接服务器建立socket连接;
[0064]步骤S210、页面发送业务消息至业务服务器;
[0065]步骤S212、业务服务器将页面发给业务服务器的业务消息转发给长连接服务器;
[0066]步骤S214、长连接服务器将业务消息推送到其他页面。
[0067]步骤S216、长连接服务器发现存在与本页面对应的业务消息,将相应的业务消息推送给flash ;
[0068]步骤S218、flash将长连接服务器推送来的业务消息发给页面。
[0069]图2所示流程概括了三部分,步骤S202至步骤S208是flash与长连接服务器间的长连接建立过程,步骤S210至步骤S214是页面发送业务消息至其他页面,步骤S216至步骤S218是页面接收其他页面的业务消息。其中,步骤S210至步骤S214,以及步骤S216至步骤S218两段流程是独立的,相互间并不存在时间或顺序上的限定。
[0070]由图2流程中可以看出,与现有技术相比,页面不再负责与长连接服务器间的通信任务,而是由flash负责通信,flash与长连接服务器间的长连接通道为天然的连接通道,自身即可以发起维护,相对于传统的人工维护要简单得多。
[0071]基于同一发明构思,本发明实施例还提供了一种页面与长连接服务器间的通信客户端。,用于支持上述任意一个实施例或其组合所提供的页面与长连接服务器间的通信方法。图3示出了根据本发明一个实施例的页面与长连接服务器间的通信客户端的结构示意图。参见图3,该示意图至少包括:
[0072]连接建立组件310,用于根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与长连接服务器间建立长连接通道;
[0073]传输组件320,与连接建立组件310耦合,用于接收长连接服务器下发的传输消息,并将传输消息转发至当前页面。
[0074]在一个优选的实施例中,
[0075]传输组件320,还用于将当前页面的标识ID发送至长连接服务器,以供长连接服务器根据ID查找到内容下发对象,其中,本地标识与ID--对应。
[0076]在一个优选的实施例中,
[0077]长连接服务器下发的传输消息包括:
[0078]其他页面通过业务服务器发出的业务消息;和/或,
[0079]业务服务器广播的系统消息;
[0080]其中,业务消息和/或系统消息均包括当前页面的ID。
[0081]在一个优选的实施例中,页面与长连接服务器间的通信客户端为flash。
[0082]在一个优选的实施例中,连接建立组件320还用于使用FLASH socket协议在flash与长连接服务器间建立长连接通道。
[0083]采用本发明实施例提供的页面与长连接服务器间的通信方法及页面客户端,能够达到如下有益效果:
[0084]根据上述分析可以看出,在本发明实施例中,由具备通信能力的主体替代页面与长连接服务器进行通信,页面只需要对主体转发传输消息进行处理,无须定期主动到长连接服务器查询是否在新的消息,提高了消息接收的实时性。而主体与长连接服务器间建立的长连接通道是稳定的,不需要人工维护,降低资源损耗,并且,稳定的长连接通道不容易产生丢包漏包事件,大大增加了消息传输的安全性和可靠性。
[0085]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0086]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0087]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0088]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0089]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的页面与长连接服务器间的通信客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0090]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0091]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
【权利要求】
1.一种页面与长连接服务器间的通信方法,包括: 根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与所述长连接服务器间建立长连接通道; 接收所述长连接服务器下发的传输消息; 将所述传输消息转发至所述当前页面。
2.根据权利要求1所述的方法,其中,在本地与所述长连接服务器间建立长连接通道之后,还包括: 将所述当前页面的标识ID发送至所述长连接服务器,以供所述长连接服务器根据所述ID查找到内容下发对象,其中,本地标识与所述ID--对应。
3.根据权利要求2所述的方法,其中,所述长连接服务器下发的传输消息包括: 其他页面通过业务服务器发出的业务消息;和/或, 所述业务服务器广播的系统消息; 其中,所述业务消息和/或所述系统消息均包括所述当前页面的ID。
4.根据权利要求1至3任一项所述的方法,其中,在所述根据当前页面发送的长连接服务器地址查找到对应的长连接服务器之前,还包括: 选择能够与长连接服务器间建立稳定的长连接通道的主体,作为所述页面与长连接服务器间的通信方法的实施主体。
5.根据权利要求4所述的方法,其中,所述主体为flash。
6.根据权利要求5所述的方法,其中,在本地与所述长连接服务器间建立长连接通道,包括: 使用FLASH socket协议在flash与所述长连接服务器间建立长连接通道。
7.—种页面与长连接服务器间的通信客户端,包括: 连接建立组件,用于根据当前页面发送的长连接服务器地址查找到对应的长连接服务器,并在本地与所述长连接服务器间建立长连接通道; 传输组件,用于接收所述长连接服务器下发的传输消息,并将所述传输消息转发至所述当前页面。
8.根据权利要求7所述的客户端,其中, 所述传输组件,还用于将所述当前页面的标识ID发送至所述长连接服务器,以供所述长连接服务器根据所述ID查找到内容下发对象,其中,本地标识与所述ID —一对应。
9.根据权利要求8所述的客户端,其中,所述长连接服务器下发的传输消息包括: 其他页面通过业务服务器发出的业务消息;和/或, 所述业务服务器广播的系统消息; 其中,所述业务消息和/或所述系统消息均包括所述当前页面的ID。
10.根据权利要求7至9任一项所述的客户端,其中,所述页面与长连接服务器间的通信客户端为flash。
11.根据权利要求7至10任一项所述的客户端,其中,所述连接建立组件还用于使用FLASH socket协议在flash与所述长连接服务器间建立长连接通道。
【文档编号】H04L29/06GK104486327SQ201410758655
【公开日】2015年4月1日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】邢岩, 陈刚, 黄欢 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1