一种用户间可扩展的通信方法及系统的制作方法

文档序号:9870037阅读:381来源:国知局
一种用户间可扩展的通信方法及系统的制作方法
【技术领域】
[0001]本申请涉及用户通信领域,具体地说,涉及一种用户间可扩展的通信方法及系统。
【背景技术】
[0002]随着移动互联网的不断普及,人们获取信息途径越来越丰富,移动终端已经成为人们日常生活中主要信息来源之一。如何为移动终端更高效地推送信息成为了一个重要的研究方向。目前移动终端操作系统种类繁多,主流的有安卓和1S两款。
[0003]近年来,人们的通信方式发生了很大的改变,网上信息交流已成为一种快捷的、时尚的、必不可少的通信方式。网络聊天的普及,使得用户对于聊天类型的需求越来越多,需要传输不同的格式内容,如纯文字、图片、图片+文字、语音、视频、音乐等格式。因此聊天类型的多样性,便成为我们研究的对象。面对如此多的聊天类型,用户不可能为每种聊天类型定义不同的消息协议,所以我们提出一套通用的可扩展性的消息主体容器,客户端可自拟消息主体格式。
[0004]现有文献《基于Android手机平台的多媒体短信系统的研究》,通信与网络(2015年16期),开发了一种多功能的手机多媒体短信系统,该系统使用Android手机平台在智能手机上开发的一个通信软件,它可以在安装本软件的手机用户之间发送多媒体短信(包括文字、图片、动画、音频、视频)。该系统分服务器端和客户端,客户端与服务器端通过Socket建立连接,用户之间以JSON数据的形式传送数据。而由于JSON采用冒号赋值,这将导致当XML转化为JSON时,在标识符与实际属性值之间很难区分谁应该被当作文本考虑,给数据的解析等带来诸多麻烦,且不具可扩展性。

【发明内容】

[0005]有鉴于此,本申请所要解决的技术问题是提供了一种用户间可扩展的通信方法及系统,解决了现有技术的网络社交系统中两用户或多用户间消息传送存在的一系列问题。
[0006]为了解决上述技术问题,本申请有如下技术方案:
[0007]本发明提供一种用户间可扩展的通信方法,包括:第一客户端与第二客户端定义统一的通用消息容器格式;所述第一客户端将需要发送给所述第二客户端的待发消息以所述通用消息容器格式封装,形成第一消息容器;所述第一客户端将包含所述第一消息容器的通信协议发送至第一长连接服务器;所述第一长连接服务器对所述通信协议中的协议头进行解析,并获知所述通信协议下一步的发送方向,以及验证所述第一消息容器内容的格式;所述第一长连接服务器将所述通信协议发送至推送中心;所述推送中心从所述通信协议解析自身所需字段,并找到与所述第二客户端连接的第二长连接服务器;所述第二长连接服务器将包括所述第一消息容器的通信协议转发至所述第二客户端;以及所述第二客户端根据所述通用消息容器格式对所述第一消息容器进行解析并显示,所述第二客户端向所述第一客户端发送消息时与上述步骤相同,且所述第一客户端与所述第二客户端为不同客户端。
[0008]本发明还提供一种用户间可扩展的通信系统,包括:第一客户端、第一长连接服务器、推送中心、第二客户端、第二长连接服务器,其中所述第一客户端,与第二客户端和所述第一长连接服务器耦接,用于同所述第二客户端共同定义统一的通用消息容器格式,以及将需要发送给所述第二客户端的待发消息以所述通用消息容器格式封装,形成第一消息容器,并将包括所述第一消息容器的通信协议发送至所述第一长连接服务器;所述第一长连接服务器,与所述第一客户端和所述推送中心耦接,用于对协议中的协议头进行解析,并获知所述通信协议下一步的发送方向,且将包括所述第一消息容器的通信协议发送至所述推送中心,以及验证所述第一消息容器内容的格式;所述推送中心,与所述第一长连接服务器和所述第二长连接服务器耦接,用于从所述通信协议解析自身所需字段,并找到与所述第二客户端连接的第二长连接服务器;所述第二长连接服务器,与所述推送中心和所述第二客户端耦接,用于将包括所述第一消息容器的通信协议转发至所述第二客户端;以及所述第二客户端,与所述第一客户端和所述第二长连接服务器耦接,用于根据所述通用消息容器格式对所述第一消息容器进行解析并显示,以及同所述第一客户端共同定义统一的通用消息容器格式,其中,所述第一客户端与所述第二客户端为不同客户端。
[0009]与现有技术相比,本申请所述的方法和系统,达到了如下效果:
[0010]第一,本发明中长连接服务器和推送服务器只会解析其他字段,并不参与通用消息容器的解析,通用消息容器只在客户端定义和解析,减少了服务器的工作量,提高效率;
[0011]第二,本发明中的通用消息容器具有非常好的可扩展性,客户端可根据自身需求自拟通用聊天容器的格式。
【附图说明】
[0012]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0013]图1为本发明的所述一种用户间可扩展的通信方法流程图;
[0014]图2为本发明的所述一种用户间可扩展的通信系统结构示意图。
【具体实施方式】
[0015]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0016]实施例1
[0017]参见图1所示为本申请所述用户间可扩展的通信方法的具体实施例,本实施例中所述方法包括以下步骤:
[0018]步骤101:第一客户端与第二客户端定义统一的通用消息容器格式;
[0019]步骤102:所述第一客户端将需要发送给所述第二客户端的待发消息以所述通用消息容器格式封装,形成第一消息容器;
[0020]步骤103:所述第一客户端将包括所述第一消息容器的通信协议发送至第一长连接服务器;
[0021]步骤104:所述第一长连接服务器对所述通信协议中的协议头进行解析,且并不解析所述第一消息容器,通过协议头的解析并获知所述通信协议下一步的发送方向,如发送至推送中心,以及验证所述第一消息容器内容的格式,例如j son/xml格式,从而判断所发送内容是否正确;
[0022]步骤105:所述第一长连接服务器将包括所述第一消息容器的通信协议发送至推送中心;
[0023]步骤106:所述推送中心从协议解析自身所需字段,但并不解析所述第一消息容器,并找到与所述第二客户端连接的第二长连接服务器;
[0024]步骤107:所述第二长连接服务器将包括所述第一消息容器的通信协议转发至所述第二客户端;以及
[0025]步骤108:所述第二客户端根据所述通用消息容器格式对所述第一消息容器进行解析并显示,
[0026]所述第二客户端向所述第一客户端发送消息时与上述步骤相同,且所述第一客户端与所述第二客户端为不同客户端。
[0027]其中,所述待发消息包括但不限于文本、图片、语音及/或视频。所述容器格式即将不同的消息流联合起来加到一个文件(载体)里面,播放显示时分别对该多条消息进行解码。
[0028]其中,所述通用消息容器格式不唯一,所述第一客户端和所述第二客户端应根据自身需要设定。
[0029]其中,当所述第一客户端和所述第二客户端为同一长连接服务器下的两客户端时,所述第一长连接服务器和所述第二长连接服务器为同一个服务器。
[0030]其中,所述通信协议包括所述第一消息容器、所述协议头、公共头和校验内容,其中所述公共头包括所述第一客户端的账号信息,所述推送中心从协议解析自身所需字段包括所述协议头、所述公共头和所述第二客户端账号信息。
[0031]其中,所述长连接即客户端发送一次连接请求后,不关闭连接,保持一段时间的连接,下次此客户端再次请求时,不用创建新连接,复用所保持的连接即可。由此,长连接可以免去大量建立和关闭连接的资源消耗。
[0032]其中,所述容器可以自行扩展,例如客户端在初始时并不明确在需要存储的消息种类及数量,即无法明确创建多大的内存空间来保存消息,创建容器格式即不需要预先得知需要存储的消息种类及数量
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1