和客户端进行通信的方法以及服务器的制造方法

文档序号:9581720阅读:414来源:国知局
和客户端进行通信的方法以及服务器的制造方法
【专利说明】和客户端进行通信的方法从及服务器
[0001] 本申请为申请日是2012年11月2日,申请号是201210433894. 4,名称是"和客户 端进行通信的方法W及服务器"的发明专利申请的分案申请。
技术领域
[0002] 本发明设及通信领域,具体设及一种和客户端进行通信的方法W及服务器。
【背景技术】
[0003] 随着网络的快速发展,出现了很多基于网络的应用,运些网络应用包括在线视频、 在线交友W及网络游戏等。网络应用的用户需要通过客户端和服务器进行通信,W获取服 务器提供的服务。
[0004] 为了实现客户端与服务器之间的通信,首先需要在客户端和服务器之间建立连 接,常用的连接方式有两种,一种是长连接通信方式,一种是短连接通信方式。所谓长连接 通信,是指建立一个连接之后,在运个连接上可W连续发送多个数据包,然后断开连接,在 连接保持期间,如果没有数据包发送,需要发送链路检测包;所谓短连接通信,是指通信双 方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一 项业务的发送。
[0005] 由于短连接通信方式需要频繁建立连接,因此,在网络应用中通常采用长连接通 信方式进行通信。但是,目前,长连接的建立仅仅是服务器端的行为,客户端并不知晓长连 接是否已经建立W及建立了多少个长连接,甚至也无法知道长连接是否已经失效。因此,客 户端无法知晓长连接的建立情况,不利于客户端与服务器之间的通信。

【发明内容】

[0006] 鉴于上述问题,提出了本发明W便提供一种克服上述问题或者至少部分地解决上 述问题的和客户端进行通信的方法W及服务器。
[0007] 依据本发明的一个方面,提供了一种在服务器处和客户端进行通信的方法,包括 W下步骤:接收到客户端发送的请求消息,获取包含在请求消息中的客户端的客户端标识; 确定客户端信息列表中是否存储了与客户端标识相对应的长连接通道标识,如果存储了长 连接通道标识,则向客户端返回用于指示长连接已建立的第一响应消息;如果未存储长连 接通道标识,则为客户端分配一个长连接通道,将长连接通道的长连接通道标识W及客户 端标识存入客户端信息列表中,并向客户端返回用于指示长连接未建立的第二响应消息, 其中,第二响应消息中包含长连接通道标识,用于指示客户端根据长连接通道标识与服务 器建立长连接;W及根据与客户端之间建立的长连接,在服务器和客户端之间传输消息。
[0008] 可选地,其中请求信息还包括当前在客户端上运行的应用的应用标识,W及在服 务器和客户端之间传输消息的步骤包括将该应用相关的消息传输到客户端。
[0009] 可选地,客户端每隔预设的第一时间间隔向服务器发送请求消息。
[0010] 可选地,还包括步骤:在客户端信息列表中与客户端标识相关联地存储每次接收 到客户端发送的请求消息的时间。
[0011] 可选地,还包括步骤:每隔预设的第二时间间隔对客户端信息列表中存储的客户 端发送请求消息的时间间隔进行检测,将与在第二时间间隔内没有发送请求消息的客户端 对应的长连接通道标识删除,并断开长连接通道标识对应的长连接通道,其中,第二时间间 隔大于第一时间间隔。
[0012] 可选地,还包括步骤:客户端每隔预设的第=时间间隔向服务器发送同步请求,月良 务器接收到同步请求后向客户端返回未同步的数据。
[0013] 根据本发明的另一方面,提供了一种适于和客户端进行通信的服务器,包括:存储 单元,适于存储客户端信息列表;通信接口,适于接收到客户端发送的请求消息,获取包含 在请求消息中的客户端的客户端标识;通信控制器,适于确定客户端信息列表中是否存储 了与客户端标识相对应的长连接通道标识,如果存储了长连接通道标识,则控制通信接口 向客户端返回指示长连接已建立的第一响应消息;如果未存储长连接通道标识,则为客户 端分配一个长连接通道,将长连接通道的长连接通道标识W及客户端标识存入客户端信息 列表中,并控制通信接口向客户端返回指示长连接未建立的第二响应消息,其中,第二响应 消息中包含长连接通道标识,该长连接通道标识指示客户端根据长连接通道标识与服务器 建立长连接;其中,通信接口还根据与客户端之间建立的长连接,在服务器和客户端之间传 输消息。
[0014] 可选地,请求信息还包括当前在客户端上运行的应用的应用标识,则通信接口具 体用于将该应用相关的消息传输到客户端。
[0015] 可选地,客户端每隔预设的第一时间间隔向服务器发送请求消息。
[0016] 可选地,存储单元还适于在客户端信息列表中与客户端标识相关联地存储每次接 收到客户端发送的请求消息的时间。
[0017] 可选地,进一步包括:链接管理器,适于每隔预设的第二时间间隔对客户端信息列 表中存储的客户端发送请求消息的时间间隔进行检测,将与在第二时间间隔内没有发送请 求消息的客户端对应的长连接通道标识删除,并断开长连接通道标识对应的长连接通道, 其中,第二时间间隔大于第一时间间隔。
[0018] 可选地,还包括同步单元,其接收客户端每隔预设的第=时间间隔发送的同步请 求,并根据同步请求向客户端返回未同步的数据。
[0019] 根据本发明的和客户端进行通信的方法W及服务器,在接收到客户端主动发送的 请求消息后,根据客户端信息列表确定与该客户端之间是否已经建立了长连接通道,并将 结果返回给客户端,由此解决了现有技术中的客户端无法知晓长连接的建立情况的问题, 取得了能够使客户端及时知晓长连接的建立情况W便与服务器进行通信的有益效果。
[0020] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予W实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,W下特举本发明的【具体实施方式】。
【附图说明】
[0021] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的附图标记表示相同的部件。在附图中:
[0022] 图1示出了根据本发明一个实施例的在服务器处和客户端进行通信的方法的流 程图;
[0023] 图2示出了根据本发明一个实施例的包含适于和客户端进行通信的服务器的通 信系统的结构示意图。
【具体实施方式】
[0024] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可WW各种形式实现本公开而不应被运里阐述的实施例 所限制。相反,提供运些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[00巧]图1示出了本发明实施例提供的一种在服务器处和客户端进行通信的方法。图1 所示的方法主要示出了服务器端执行的步骤,在服务器执行步骤Slio之前,客户端首先需 要构造并发送请求消息。
[00%] 具体地,在构造请求消息时,客户端每隔预设的第一时间间隔(例如,4分钟)获取 一次当前在该客户端上运行的应用的应用标识,W及该客户端的客户端标识,并根据获取 的应用标识W及客户端标识构造请求消息,将该请求消息发送给服务器。
[0027] 当前在该客户端上运行的应用例如可W是用户在该客户端上正在玩的网络游戏。 运时,相应的应用标识可W是该网络游戏的游戏名称、游戏ID和/或游戏区服等相关的信 息;或者,当前在该客户端上运行的应用也可W是用户在该客户端上正在收听的歌曲,运 时,相应的应用标识可W是该歌曲的歌曲名称等。另外,当客户端上运行的应用为多个时, 也可W同时获取运多个应用的应用标识。具体地,在获取客户端上运行的应用的应用标识 时,可W通过多种方法,例如,可W通过任务管理器中的进程个数和进程名称获取。
[0028] W客户端为网络浏览器、应用为基于网页的网络游戏为例来说,可W通过一些特 定的javascript代码来获取网络游戏的游戏ID作为应用标识:
[0029] 例如,在游戏页面中嵌入代码
[0030] 〈scriptsrc= "http://u8.wan. 360.cn/loader.js"〉U8.location= "frmmo- S19" ;</script〉,
[0031] 其中的location字段标示了用户所玩游戏的游戏区服,然后,通过loader,js脚 本即可获取location字段中的内容,进而获取到游戏区服W及该网络游戏的游戏ID。
[0032] 客户端的客户端标识主要是指能够唯一确定该客户端的标识信息,例如,可W是 该客户端对应的IP地址。
[0033] 随后,将所获取的应用标识(即游戏ID)和客户端标识发送到服务器,运可W利用 下面的代码来完成:
[0034]
[0035] 客户端构造的请求消息中包含了上面获取的应用标识和客户端标识,例如,可W 将该应用标识和客户端标识作为请求消息的消息体或请求消息的一个字段。然后,由客户 端主动地将该请求消息发送给服务器。
[0036] 在步骤SllO中,服务器接收到上述客户端发送的请求消息,获取包含在该请求消 息
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1