CN106422324B - 多终端的实时通讯方法、装置及系统 - Google Patents

多终端的实时通讯方法、装置及系统 Download PDF

Info

Publication number
CN106422324B
CN106422324B CN201510490602.4A CN201510490602A CN106422324B CN 106422324 B CN106422324 B CN 106422324B CN 201510490602 A CN201510490602 A CN 201510490602A CN 106422324 B CN106422324 B CN 106422324B
Authority
CN
China
Prior art keywords
game
terminal
server
information
game terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510490602.4A
Other languages
English (en)
Other versions
CN106422324A (zh
Inventor
黄文杰
戴翔
吴康瑞
杨辉
肖辉
梁宇轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510490602.4A priority Critical patent/CN106422324B/zh
Publication of CN106422324A publication Critical patent/CN106422324A/zh
Application granted granted Critical
Publication of CN106422324B publication Critical patent/CN106422324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种多终端的实时通讯方法、装置及系统。其中,该方法包括:游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求;在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。本发明解决了因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。

Description

多终端的实时通讯方法、装置及系统
技术领域
本发明涉及互联网领域,具体而言,涉及一种多终端的实时通讯方法、装置及系统。
背景技术
如今,随着互联网技术的快速发展,移动终端、计算机终端乃至显示设备都可以方便的接入到互联网中。与此同时,移动终端的处理性能也随着发展变得日益强大起来,从而使各种游戏可以在移动终端上面流畅运行。
因此,为了提高游戏的游戏性,游戏方式从传统较为单一的单机方式,逐渐发展出许多新的游戏方式,例如:网络游戏、体感游戏等。
在本领域中,网络游戏(也被称为网游)是众所周知的,网络游戏可以分为客户端游戏、页面游戏以及手机客户端游戏(即手游),其中,客户端游戏是需要在计算机终端或移动终端安装网络游戏客户端的可执行文件之后,运行在客户端的网络游戏。现有技术提供的游戏服务器为游戏用户提供了一个游戏平台,游戏用户通过登录网络游戏客户端启动与网络中的其他游戏用户开始游戏活动。
其中,在网络游戏中,有一种游戏的游戏方式为通过显示终端(例如计算机终端等),引导多个使用移动终端进行游戏的玩家同时进入同一个虚拟游戏房间,并由显示终端控制游戏的开始、结束,并对玩家的实时分数等信息进行显示功能。
在实现上述游戏方式的过程中,存在移动终端、显示终端和服务端三方大量的数据交互。如何以最低的资源消耗来实现上述三方数据的实时通讯,同时考虑移动终端相对较慢的网络连接速度。对技术选用,游戏服务器都有一定的要求。
在现有技术中,通常利用HTML5中的webSocket协议来解决上述三方数据通讯的。如图1所示,在利用webSocket协议实现上述三方数据通讯的过程中,会在客户端与服务器之间建立起一个双通道的长连接,在客户端与服务器之间的数据交互时,不需要再次发起HTTP Request请求,从而达到客户端与服务器数据的实时通讯。
虽然,通过webSocket协议进行数据实时交互效率高,但却存在如下的缺点:
在多终端与服务器进行连接时,服务器在同时需要维护多个长链接,导致服务器的处理负担过重;
并且,移动互联网的数据传输质量受所处的环境影响较大,如果移动终端所处的移动端网络环境较差时,以及通讯连接经过多个路由进行中转时,容易导致发送的数据包延迟或中断,从而造成通讯中断。
针对现有技术中因游戏服务器同时维护多个长连接导致服务器负载严重的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种多终端的实时通讯方法、装置及系统,以至少解决因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。
根据本发明实施例的一个方面,提供了一种多终端的实时通讯方法,包括:游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
根据本发明实施例的另一方面,还提供了一种多终端的实时通讯装置,包括:第一接收模块,用于游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;生成模块,用于在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;第二接收模块,用于游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;认证模块,用于在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
根据本发明实施例的又一方面,还提供了一种多终端的实时通讯系统,第一游戏终端,用于在与游戏服务器建立第一临时通讯连接之后,向游戏服务器发送游戏开启请求,并接收游戏服务器生成的游戏房间信息;第二游戏终端,在与游戏服务器建立第二临时通讯连接之后,用于根据游戏房间信息向游戏房间发送游戏房间请求;游戏服务器,与第一游戏终端与第二游戏终分别端建立临时通讯连接,用于接收游戏开启请求,并在根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;游戏服务器还用于接收第二游戏终端发送的进入游戏房间请求,并在根据进入游戏房间请求允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
在本发明实施例中,采用游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接的方式,通过第一接收模块,用于游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;生成模块,用于在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;第二接收模块,用于游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;认证模块,用于在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接,达到了游戏服务器在不建立并维持多个双通道长连接即可实现多终端实时通讯的目的,从而实现了降低服务器负载,节约处理资源和通讯资源的技术效果,进而解决了因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中用于实现数据交互的示意图;
图2是本申请实施例的一种多终端的实时通讯方法的计算机终端的硬件结构框图;
图3是根据本发明实施例的一种多终端的实时通讯方法的流程示意图;
图4是根据本申请实施例的多终端的实时通讯方法在实际应用中的流程示意图;
图5是根据本申请实施例的一种多终端的实时通讯装置的结构图;
图6是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;
图7是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;
图8是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;
图9是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;
图10是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;
图11是根据本申请实施例的一种可选的多终端的实时通讯装置的结构图;以及
图12是根据本申请实施例的一种多终端的实时通讯系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种多终端的实时通讯方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图2是本申请实施例的一种运行多终端的实时通讯方法的移动终端的硬件结构框图。如图2所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的多终端的实时通讯方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的多终端的实时通讯方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图3所示的多终端的实时通讯方法的流程示意图。如图3所示,该方法包括:
步骤S102,游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求。
具体的,游戏服务器在接收到第一游戏终端发送的建立临时通讯连接的请求之后,游戏服务器与第一游戏终端建立第一临时通讯连接。从而可以接收到第一游戏终端通过第一临时通讯连接发送的游戏开启请求,其中,游戏开启请求用于根据游戏开启请求,游戏服务器创建用于进行游戏的游戏房间。
在实际用应用中,第一游戏终端可以是一种带有连接网络且带有访问网页功能的屏幕终端,也可以是通用的计算机终端等。通过第一游戏终端可以实现对游戏房间的开启、游戏的开始以及游戏的结束进行控制,并且可以对游戏分数进行展示。
其中,可以利用AJAX技术实现通讯连接的请求、建立、断开等功能。具体的,在第一游戏终端通过网页浏览器访问带有AJAX控件的预定网络地址,并在与网络地址对应的网页页面上选择“游戏开房”选项时。在第一游戏终端运行的AJAX控件,与游戏服务器建立第一临时通讯连接,并通过第一临时通讯连接,并将游戏开启请求发送至游戏服务器,游戏服务器会根据游戏开启请求创建一个游戏房间。
步骤S104,在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接。
具体的,在成功创建上述游戏房间之后,游戏服务器会生成一个用于加入该游戏房间的游戏房间信息,并将游戏房间信息发送至请求建立游戏房间的第一游戏终端。在游戏服务器将游戏房间信息发送至第一游戏终端之后,断开第一临时通讯连接。其中,游戏房间信息包含连接至游戏房间的连接信息,使第二游戏终端在获取到游戏房间信息后,可以直接连接至与游戏房间信息对应的游戏房间。游戏房间信息可以为与游戏房间对应的网络地址,通过直接访问网络地址即可访问游戏房间;也可以是与游戏房间对应的索引信息和游戏服务器的网络地址,通过网络地址访问游戏服务器并向游戏服务器发送索引信息,通过游戏服务器使第二游戏客户端访问游戏房间。当然还有其他形式的游戏房间信息,以及利用游戏房间信息访问游戏房间的实现方法,此处不做赘述。
第一游戏终端在接收到游戏服务器发送的游戏房间信息后,需要将游戏房间信息传递给至少一个第二游戏终端,使第二游戏终端可以利用游戏房间信息访问与其对应的游戏房间,从而进行游戏。
步骤S106,游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成。
具体的,第二游戏终端根据获取到的游戏房间请求,向游戏服务器发送建立第二临时通讯连接的连接请求,在游戏服务器通过连接请求并与第二游戏终端建立第二临时通讯连接后,第二游戏终端通过第二临时通讯连接向游戏服务器发送进入游戏房间请求。
其中,第二游戏终端可以是具备接入互联网功能的移动终端,也可以通用的计算机终端,通过第二游戏终端,可以实现对游戏程序的运行。其中,游戏程序可以是基于网络浏览器开发的游戏程序,也可以是需要在本地进行安装、配置的游戏程序,此处不做具体限定。
步骤S108,在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
具体的,游戏服务器根据第二游戏终端发送的进入游戏房间请求,对第二游戏终端的身份进行判断。在游戏房间请求中,除了包含用于请求加入游戏房间的信息外,还可以至少包含:用于标记第二游戏终端的标识信息、用于验证第二游戏终端身份的验证信息等。当游戏服务器经过身份验证,允许第二游戏终端进入游戏房间之后,断开临时通信连接。
通过上述步骤S102至步骤S108,在第一游戏终端或者第二游戏终端每次与游戏服务器进行通讯时,需要首先由第一游戏终端或者第二游戏终端发起临时连接请求,当临时连接请求被服务器接受时,在第一游戏终端与游戏服务器或者第二游戏终端与游戏服务器之间建立临时通讯连接并通过该通讯连接进行一组数据通讯。最后,当数据通讯结束后,断开该临时通讯连接。通过上述方法,达到了游戏服务器在不建立并维持多个双通道长连接即可实现多终端实时通讯的目的,进而实现了降低服务器负载,节约处理资源和通讯资源的技术效果,解决了因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。
作为一个可选的实施例,在步骤S108断开第二临时通信连接之后,方法还可以包括:
步骤S200,游戏服务器与第一游戏终端建立第三临时通讯连接之后,接收第一游戏终端发送的控制信息,其中,控制信息至少包括:开始游戏信息和结束游戏信息。
步骤S202,在游戏服务器根据控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息之后,断开第三临时通讯连接,其中,游戏数据信息至少包括:游戏人数信息、游戏分数信息。
具体的,通过步骤S200至步骤S202,在第一游戏终端通过创建的第三临时通讯连接向游戏服务器发送针对游戏的控制信息之后,游戏服务器根据接收到控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息等信息。在发送完成后断开第三临时通讯连接。
其中,如果在第一游戏终端上没有接收到新的游戏控制信息时,向游戏服务器发送游戏控制信息与上一次发送的游戏控制信息相同。利用此种方法,可以避免因某一次临时通讯连接建立失败,或者因传输的数据包丢失导致的对游戏的控制失败的问题。
步骤S204,游戏服务器与第二游戏终端建立第四临时通讯连接,并接收第二游戏终端发送的游戏数据信息之后,将控制信息发送至第二游戏终端,并在断开第四临时通讯连接。
具体的,通过步骤S204游戏服务器与第二游戏终端建立第四临时通讯连接,第二游戏终端通过第四临时连接将当前执行的游戏的游戏数据信息发送至游戏服务器,游戏服务器在接收到的游戏数据信息后,将当前的游戏控制信息发送至第二游戏终端。在完成发送后,断开当前的第四临时通讯连接。在游戏服务器每次接收到第二游戏终端发送的游戏数据信息后,都将当前的游戏控制信息发送至第二游戏终端,可以使各第二游戏终端和第一游戏终端的游戏状态保持同步。
作为一个可选的实施例,在步骤S204断开所述第四临时通讯连接之后,方法还包括:
步骤S206a,当第二游戏终端接收到的游戏控制信息为开始游戏信息时,第二游戏终端以预设的第一时间频率与游戏服务器建立第五临时通讯连接。
步骤S208a,在第二游戏终端与游戏服务器建立第五临时通讯连接之后,向游戏服务器发送游戏数据信息。
具体的,通过步骤S206a至步骤S208a,为了保证在游戏开始后,第一游戏终端可以及时的获取到第二游戏终端的游戏数据信息,第二游戏终端可以按照预定的第一时间频率与游戏服务器建立第五临时通讯连接,通过第五临时通讯连接将其游戏数据信息发送至游戏服务器。使第一游戏终端在与游戏服务器建立第五临时通讯连接时,可以获得实时的第二游戏终端的游戏数据信息。
作为一个可选的实施例,为了进一步的保证游戏数据的准确性,在第二游戏终端加入游戏房间时,为第二游戏终端设置临时存储器。临时存储器用于存储第二游戏终端发送的游戏数据信息。其中,临时存储器的存储方式,可以按照时序对每次接收到的第二游戏终端发送的游戏数据信息进行存储;也可以只对当前接收到的一组游戏数据信息进行存储,当接收到新的一组游戏数据信息时,对当前临时存储器中的游戏数据信息进行替换的方式进行存储;当然也可以按照其他存储方式进行存储,此处不做赘述。
作为一个可选的实施例,步骤S204断开第四临时通讯连接之后,上述方法还包括:
步骤S51,游戏服务器获取第二游戏终端与游戏服务器建立临时通讯连接的实时时间间隔。
步骤S53,游戏服务器通过将实时时间间隔与预设的时间阈值进行比对,判断与第二游戏终端的通讯状态是否为通讯中断。
步骤S55,当实时时间间隔大于时间阈值时,确定与第二游戏终端的通讯状态为通讯终端。
具体的,通过上述步骤S51至步骤S53,游戏服务器通过对第二游戏终端与游戏服务器建立临时通讯连接的实施时间间隔与预先设置的时间阈值进行比对,从而确定第二游戏终端是否与游戏服务器断开连接。
因为,上述实施例中所涉及的通讯方法,在进行游戏时,并不需要在游戏终端与游戏服务器之间建立持续的通讯连接。而是在每次需要传递数据时,通过建立临时的通讯连接来实现。因此,在检测第二游戏终端是否与游戏服务器通讯中断时,可以将第二游戏终端与游戏服务器建立临时通讯连接时的临时通讯请求作为心跳信号,通过该心跳信号进行判断。
作为一个可选的实施例,上述时间阈值的获取方法包括:
步骤S201,从第二游戏终端获取第一时间频率。
步骤S203,根据第一时间频率,确定第二游戏终端发送游戏数据信息的标准时间间隔。
步骤S205,根据标准时间间隔与预先设置的计算系数,计算得到时间阈值。
具体的,为了确保对第二游戏终端是否与游戏服务器断开连接的判断的准确性,用于与实时时间间隔比对的时间阈值,可以通过从第二游戏终端获取的第一时间频率与计算系数进行计算得出。因为,参与游戏的第二游戏终端的运行环境、游戏版本等因素影响,导致第二游戏终端之间的第一时间频率之间存在差异。因此,通过上述计算方法,可以直接获取与第二游戏终端对应的时间阈值,以提高判断是否断开连接的准确性。
作为一个可选的实施例,步骤S202在断开第四临时通讯连接之后,上述方法还包括:
步骤S206b,在第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端以预设的第二时间频率与游戏服务器建立第六临时通讯连接。
步骤S208b,在第一游戏终端与游戏服务器建立第六临时通讯连接之后,向游戏服务器发送获取第二游戏终端的游戏数据信息的数据请求信息。
具体的,通过步骤S206b至步骤S208b,在第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端会按照预定的第二时间频率与游戏服务器建立临时通讯连接,通过临时通讯连接获取第二游戏终端的游戏数据信息的数据请求信息。其中,第一时间频率与第二时间频率可以根据实际情况进行设置。此处不做赘述。
作为一个可选的实施例,在步骤S106接收第二游戏终端发送的进入游戏房间请求之后,方法还包括:
步骤S71,游戏服务器获取第二游戏终端的身份信息。
步骤S73,游戏服务器根据获取到的身份信息向身份认证服务器发送身份认证请求。
步骤S75,游戏服务器根据身份认证服务器返回的身份认证结果,确定第二游戏终端的身份信息是否认证通过。
具体的,本申请上述步骤S71至步骤S75,通过第三方的身份认证服务器,对第二游戏终端的身份信息进行认证。
在实际进行游戏时,用户可以通过在第二游戏终端中注册账号来登录,还可以通过自己所拥有的第三方账号来登录,例如,使用QQ账号来登录游戏。当用户可以在第二游戏终端中输入第三方账号并确认授权第二游戏终端使用该第三方账号登陆后,第二游戏终端将第三方账号的账号信息发送至游戏服务器当中,游戏服务器根据该账号信息向第三方的身份认证服务器发起认证请求。认证请求可用于验证用户身份、第三方账号或用户的授权情况。身份认证服务器在接收到认证请求后,对认证请求进行认证,并将认证结果反馈至游戏服务器中,以供游戏服务器判断是否允许该第二游戏终端进入游戏房间。
作为一个可选的实施例,步骤S104在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接的步骤之后,方法还包括:
步骤S105,第二游戏终端从第一游戏终端获取游戏房间信息,其中,第二游戏终端从第一游戏终端获取游戏房间信息的获取方式至少包括:通过二维码方式获取、通过近场通讯方式获取、通过即时通讯方式获取。
具体的,通过步骤S105,第二游戏终端从第一游戏终端中,获取游戏房间信息,其中,将游戏房间信息从第一游戏终端传递给至少一个第二游戏终端的实现方式至少可以包括:
方式一:利用二维码方式实现。
具体的,将游戏房间信息转换为二维码,使第一游戏终端在接收到游戏房间信息后通过显示设备对其进行显示。第二游戏终端通过对二维码的扫描,即可获取游戏房间信息,并对与其相应的游戏房间进行访问。其中,二维码可以是由游戏服务器直接生成后,发送至第一游戏终端的;也可以是由第一游戏终端自行转换的,此处不做特别限制。
方式二:利用近场通讯方式实现。
具体的,为第一游戏终端和第二游戏终端配置近场通讯设备,例如(NFC设备、RFID设备等)。第一游戏终端将接收到的游戏服务器发送的游戏房间信息,通过近场通讯传递给与第一游戏终端的近场通讯设备接近的第二游戏终端。
方式三:利用即时通讯方式实现。
具体的,第一游戏终端利用即时通讯客户端,将游戏房间信息发送给预设的与第二游戏终端对应的联系人,第二游戏终端通过即时通讯客户端接收游戏房间信息。
当然还可以包括其他实现方式,如通过无线网络,第一游戏终端将游戏房间信息通过无线网络发送至预设网段内的第二游戏终端;通过蓝牙通讯技术,将游戏房间信息发送至与第一游戏终端配对的第二游戏终端等。其他的实现方式此处不做具体限定。
作为一个可选的实施例,在本实施例中,上述多终端的实时通讯方法可以选用较为成熟的AJAX技术来实现。并应用于如图4所示的游戏场景中。
其中,上述游戏场景中包括:第一游戏终端、第二游戏终端用于执行游戏和游戏服务器。其中,第一游戏终端用于显示游戏分数,第二游戏终端用于执行游戏。
具体的,通过AJAX技术实现的游戏共包括4个环节:
第1环节,游戏开房:
步骤S11,由第一游戏终端通过访问预定的游戏登陆地址,并点击与游戏登陆地址对应的网页页面上的“游戏开房”按钮。此时,网页通过AJAX控件生成一个开房请求,并发送至游戏服务器;
步骤S12,游戏服务器在接收到“游戏开房”请求后建立游戏房间,并将生成的用于访问此游戏房间的访问二维码反馈给第一游戏终端;
步骤S13,第一游戏终端在接收到访问二维码后在显示设备中显示出来,用于引导第二游戏终端进入房间。
第2环节,玩家进入游戏房间:
步骤S21,第二游戏终端通过对第一游戏终端上显示的访问二维码进行扫描,获取游戏房间信息,在通过AJAX控件向游戏服务器发送计入游戏房间请求,如果通过游戏服务器的身份认证后,进入游戏房间开始等待游戏开始,否则退出游戏房间;
步骤S22,当第二游戏终端成功进入房间后,游戏服务器记录第二游戏终端的身份信息,并根据身份信息列表中计算得出游戏房间内在线总人数;
步骤S23,第一游戏终端通过AJAX控件对游戏服务器进行轮询,从而获取实时的在线总人数,并对在线总人数进行显示。
第3环节,游戏开始:
步骤S31,由第一游戏终端向游戏服务器发送“游戏开始”的控制信息,游戏服务器记录当前游戏状态为“开始”;
步骤S32,第二游戏终端在等待游戏开始时,通过AJAX控件对游戏服务器进行你给轮询,当获取到游戏服务器中当前的游戏状态为“开始”时,开始游戏,从而实现多个第二游戏终端同时开始游戏;
步骤S33,第二游戏终端在开始游戏并进入游戏画面后,通过AJAX控件将游戏中的得分上报给游戏服务器。游戏服务器对各个第二游戏终端的游戏分数进行更新;
步骤S34,第一游戏终端通过AJAX控件对游戏服务器进行轮询,从而实时获取游戏服务器上的与第二游戏终端对应的游戏分数,予以并显示。
第4环节,游戏结束:
步骤S41,由第一游戏终端向游戏服务器发送“游戏结束”的控制信息,游戏服务器记录当前游戏状态为“结束”;
步骤S42,第二游戏终端在游戏过程中时,通过AJAX控件对游戏服务器进行轮询,当获取到游戏服务器中当前的游戏状态为“结束”时,结束游戏,从而实现多个第二游戏终端同时结束游戏;
步骤S43,第二游戏终端在结束游戏并进入游戏结束画面后,通过AJAX控件将游戏最后得分上报给游戏服务器,游戏服务器记录第二终端最终游戏分数;
步骤S44,第一游戏终端通过AJAX控件对游戏服务器上的与第二游戏终端对应的游戏分数的最终游戏分数,予以并显示。
上述采用AJAX技术实现的数据实时交互,可以减少服务器处理性能的开销,并且不需要建立多个socket通讯连接即可完成数据通讯,并且服务器也不需要开通webScoket的功能,这对服务器处理能力的要求相对降低了很多。并且,在多个移动终端需要进行频繁的数据提交的游戏中,使用AJAX实现,也不需要担心因为网络延迟等原因,导致的通过socket提交不成功造成通讯连接中断,影响游戏效果的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述多终端的实时通讯方法的多终端的实时通讯装置,如图5所示,该装置包括:第一接收模块21、生成模块23、第二接收模块25和认证模块27。
其中,第一接收模块21,用于游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;生成模块23,用于在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;
第二接收模块25,用于游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;
认证模块27,用于在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
通过上述第一接收模块21、生成模块23、第二接收模块25和认证模块27,在第一游戏终端或者第二游戏终端每次与游戏服务器进行通讯时,需要首先由第一游戏终端或者第二游戏终端发起临时连接请求,当临时连接请求被服务器接受时,在第一游戏终端与游戏服务器或者第二游戏终端与游戏服务器之间建立临时通讯连接并通过该通讯连接进行一组数据通讯。最后,当数据通讯结束后,断开该临时通讯连接。通过上述方法,达到了游戏服务器在不建立并维持多个双通道长连接即可实现多终端实时通讯的目的,进而实现了降低服务器负载,节约处理资源和通讯资源的技术效果,解决了因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。
作为一个可选的实施例,如图6所示,上述装置还可以包括:第三接收模块29、第一发送模块31和通讯模块33。
其中,第三接收模块29,用于游戏服务器与第一游戏终端建立第三临时通讯连接之后,接收第一游戏终端发送的控制信息,其中,控制信息至少包括:开始游戏信息和结束游戏信息;第一发送模块31,用于在游戏服务器根据控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息之后,断开第三临时通讯连接,其中,游戏数据信息至少包括:游戏人数信息、游戏分数信息;通讯模块33,用于游戏服务器与第二游戏终端建立第四临时通讯连接,并在接收第二游戏终端发送的游戏数据信息之后,将控制信息发送至第二游戏终端,并断开第四临时通讯连接。
具体的,利用上述第三接收模块29、第一发送模块31和通讯模块33,在第一游戏终端通过创建的第三临时通讯连接向游戏服务器发送针对游戏的控制信息之后,游戏服务器根据接收到控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息等信息。在发送完成后断开第三临时通讯连接。并且游戏服务器与第二游戏终端建立第四临时通讯连接,第二游戏终端通过第四临时连接将当前执行的游戏的游戏数据信息发送至游戏服务器,游戏服务器在接收到的游戏数据信息后,将当前的游戏控制信息发送至第二游戏终端。在完成发送后,断开当前的第四临时通讯连接。在游戏服务器每次接收到第二游戏终端发送的游戏数据信息后,都将当前的游戏控制信息发送至第二游戏终端,可以使各第二游戏终端和第一游戏终端的游戏状态保持同步。
其中,如果在第一游戏终端上没有接收到新的游戏控制信息时,向游戏服务器发送游戏控制信息与上一次发送的游戏控制信息相同。利用此种方法,可以避免因某一次临时通讯连接建立失败,或者因传输的数据包丢失导致的对游戏的控制失败的问题。
作为一个可选的实施例,如图7所示,上述装置还可以包括:第一通讯建立模块35和第一数据发送模块37。
其中,第一通讯建立模块35,用于当第二游戏终端接收到的游戏控制信息为开始游戏信息时,第二游戏终端以预设的第一时间频率与游戏服务器建立第五临时通讯连接;第一数据发送模块37,用于在第二游戏终端与游戏服务器建立第五临时通讯连接之后,向游戏服务器发送游戏数据信息。
具体的,通过上述第一通讯建立模块35和第一数据发送模块37,为了保证在游戏开始后,第一游戏终端可以及时的获取到第二游戏终端的游戏数据信息,第二游戏终端可以按照预定的第一时间频率与游戏服务器建立第五临时通讯连接,通过第五临时通讯连接将其游戏数据信息发送至游戏服务器。使第一游戏终端在与游戏服务器建立第五临时通讯连接时,可以获得实时的第二游戏终端的游戏数据信息。
作为一个可选的实施例,为了进一步的保证游戏数据的准确性,在第二游戏终端加入游戏房间时,为第二游戏终端设置临时存储器。临时存储器用于存储第二游戏终端发送的游戏数据信息。其中,临时存储器的存储方式,可以按照时序对每次接收到的第二游戏终端发送的游戏数据信息进行存储;也可以只对当前接收到的一组游戏数据信息进行存储,当接收到新的一组游戏数据信息时,对当前临时存储器中的游戏数据信息进行替换的方式进行存储;当然也可以按照其他存储方式进行存储,此处不做赘述。
作为一个可选的实施例,如图8所示,上述装置还可以包括:第一获取模块41、比对模块43和第一确定模块45。
其中,第一获取模块41,用于游戏服务器获取第二游戏终端与游戏服务器建立临时通讯连接的实时时间间隔;比对模块43,用于游戏服务器通过将实时时间间隔与预设的时间阈值进行比对,判断与第二游戏终端的通讯状态是否为通讯中断;第一确定模块45,用于当实时时间间隔大于时间阈值时,确定与第二游戏终端的通讯状态为通讯终端。
具体的,通过上述一获取模块41、比对模块43和第一确定模块45,游戏服务器通过对第二游戏终端与游戏服务器建立临时通讯连接的实施时间间隔与预先设置的时间阈值进行比对,从而确定第二游戏终端是否与游戏服务器断开连接。
因为,上述实施例中所涉及的通讯方法,在进行游戏时,并不需要在游戏终端与游戏服务器之间建立持续的通讯连接。而是在每次需要传递数据时,通过建立临时的通讯连接来实现。因此,在检测第二游戏终端是否与游戏服务器通讯中断时,可以将第二游戏终端与游戏服务器建立临时通讯连接时的临时通讯请求作为心跳信号,通过该心跳信号进行判断。
作为一个可选的实施例,如图9所示,上述装置还可以包括:第二通讯建立模块34和第二数据发送模块36。
其中,第二通讯建立模块34,用于在第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端以预设的第二时间频率与游戏服务器建立第六临时通讯连接;第二数据发送模块36,用于在第一游戏终端与游戏服务器建立第六临时通讯连接之后,向游戏服务器发送获取第二游戏终端的游戏数据信息的数据请求信息。
具体的,通过上述第二通讯建立模块34和第二数据发送模块36,在第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端会按照预定的第二时间频率与游戏服务器建立临时通讯连接,通过临时通讯连接获取第二游戏终端的游戏数据信息的数据请求信息。其中,第一时间频率与第二时间频率可以根据实际情况进行设置。此处不做赘述。
作为一个可选的实施例,如图10所示,上述装置还可以包括:第二获取模块61、第二发送模块63和第二确定模块65。
其中,第二获取模块61,用于游戏服务器获取第二游戏终端的身份信息;第二发送模块63,用于游戏服务器根据获取到的身份信息向身份认证服务器发送身份认证请求;第二确定模块65,用于游戏服务器根据身份认证服务器返回的身份认证结果,确定第二游戏终端的身份信息是否认证通过。
具体的,本申请上述第二获取模块61、第二发送模块63和第二确定模块65,通过第三方的身份认证服务器,对第二游戏终端的身份信息进行认证。
在实际进行游戏时,用户可以通过在第二游戏终端中注册账号来登录,还可以通过自己所拥有的第三方账号来登录,例如,使用QQ账号来登录游戏。当用户可以在第二游戏终端中输入第三方账号并确认授权第二游戏终端使用该第三方账号登陆后,第二游戏终端将第三方账号的账号信息发送至游戏服务器当中,游戏服务器根据该账号信息向第三方的身份认证服务器发起认证请求。认证请求可用于验证用户身份、第三方账号或用户的授权情况。身份认证服务器在接收到认证请求后,对认证请求进行认证,并将认证结果反馈至游戏服务器中,以供游戏服务器判断是否允许该第二游戏终端进入游戏房间。
作为一个可选的实施例,如图11所示,上述装置还可以包括:第三获取模块24。
其中,第三获取模块24,用于第二游戏终端从第一游戏终端获取游戏房间信息,其中,第二游戏终端从第一游戏终端获取游戏房间信息的获取方式至少包括:通过二维码扫描的方式获取、通过近场通讯的方式获取、通过第三方即时通讯客户端的方式获取。
具体的,通过上述第三获取模块24,第二游戏终端从第一游戏终端中,获取游戏房间信息,其中,将游戏房间信息从第一游戏终端传递给至少一个第二游戏终端的实现方式至少可以包括:
方式一:利用二维码方式实现。
具体的,将游戏房间信息转换为二维码,使第一游戏终端在接收到游戏房间信息后通过显示设备对其进行显示。第二游戏终端通过对二维码的扫描,即可获取游戏房间信息,并对与其相应的游戏房间进行访问。其中,二维码可以是由游戏服务器直接生成后,发送至第一游戏终端的;也可以是由第一游戏终端自行转换的,此处不做特别限制。
方式二:利用近场通讯方式实现。
具体的,为第一游戏终端和第二游戏终端配置近场通讯设备,例如(NFC设备、RFID设备等)。第一游戏终端将接收到的游戏服务器发送的游戏房间信息,通过近场通讯传递给与第一游戏终端的近场通讯设备接近的第二游戏终端。
方式三:利用即时通讯方式实现。
具体的,第一游戏终端利用即时通讯客户端,将游戏房间信息发送给预设的与第二游戏终端对应的联系人,第二游戏终端通过即时通讯客户端接收游戏房间信息。
当然还可以包括其他实现方式,如通过无线网络,第一游戏终端将游戏房间信息通过无线网络发送至预设网段内的第二游戏终端;通过蓝牙通讯技术,将游戏房间信息发送至与第一游戏终端配对的第二游戏终端等。其他的实现方式此处不做具体限定。
实施例3
在其最基本的配置中,图12是根据本发明实施例的多终端的实时通讯系统结构示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图12所示的任一组件或其组合具有任何依赖或需求。
如图12所示,本申请提供的多终端的实时通讯系统可以包括:第一游戏终端10、第二游戏终端20和游戏服务器30。
其中,第一游戏终端10,用于在与游戏服务器30建立第一临时通讯连接之后,向游戏服务器30发送游戏开启请求,并接收游戏服务器30生成的游戏房间信息;第二游戏终端20,在与游戏服务器30建立第二临时通讯连接之后,用于根据游戏房间信息向游戏房间发送游戏房间请求;游戏服务器30,与第一游戏终端10与第二游戏终分别端建立临时通讯连接,用于接收游戏开启请求,并在根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端10,并断开第一临时通讯连接;游戏服务器30还用于接收第二游戏终端20发送的进入游戏房间请求,并在根据进入游戏房间请求允许第二游戏终端20进入游戏房间之后,断开第二临时通信连接。
通过上述第一游戏终端10、第二游戏终端20和游戏服务器30,在第一游戏终端或者第二游戏终端每次与游戏服务器进行通讯时,需要首先由第一游戏终端或者第二游戏终端发起临时连接请求,当临时连接请求被服务器接受时,在第一游戏终端与游戏服务器或者第二游戏终端与游戏服务器之间建立临时通讯连接并通过该通讯连接进行一组数据通讯。最后,当数据通讯结束后,断开该临时通讯连接。通过上述方法,达到了游戏服务器在不建立并维持多个双通道长连接即可实现多终端实时通讯的目的,进而实现了降低服务器负载,节约处理资源和通讯资源的技术效果,解决了因游戏服务器同时维护多个长连接导致服务器负载严重的技术问题。
进一步的,在第一游戏终端通过创建的第三临时通讯连接向游戏服务器发送针对游戏的控制信息之后,游戏服务器根据接收到控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息等信息。在发送完成后断开第三临时通讯连接。
其中,如果在第一游戏终端上没有接收到新的游戏控制信息时,向游戏服务器发送游戏控制信息与上一次发送的游戏控制信息相同。利用此种方法,可以避免因某一次临时通讯连接建立失败,或者因传输的数据包丢失导致的对游戏的控制失败的问题。
游戏服务器与第二游戏终端建立第四临时通讯连接,第二游戏终端通过第四临时连接将当前执行的游戏的游戏数据信息发送至游戏服务器,游戏服务器在接收到的游戏数据信息后,将当前的游戏控制信息发送至第二游戏终端。在完成发送后,断开当前的第四临时通讯连接。在游戏服务器每次接收到第二游戏终端发送的游戏数据信息后,都将当前的游戏控制信息发送至第二游戏终端,可以使各第二游戏终端和第一游戏终端的游戏状态保持同步。
进一步的,为了保证在游戏开始后,第一游戏终端可以及时的获取到第二游戏终端的游戏数据信息,第二游戏终端可以按照预定的第一时间频率与游戏服务器建立临时通讯连接,通过临时通讯连接将其游戏数据信息发送至游戏服务器。使第一游戏终端在与游戏服务器建立临时通讯连接时,可以获得实时的第二游戏终端的游戏数据信息。
进一步的,在第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端会按照预定的第二时间频率与游戏服务器建立临时通讯连接,通过临时通讯连接获取第二游戏终端的游戏数据信息的数据请求信息。其中,第一时间频率与第二时间频率可以根据实际情况进行设置。此处不做赘述。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的多终端的实时通讯方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收第一游戏终端发送的游戏开启请求;
S2,在游戏服务器根据游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至第一游戏终端,并断开第一临时通讯连接;
S3,游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收第二游戏终端发送的进入游戏房间请求,其中,进入游戏房间请求由第二游戏终端在通过获取第一游戏终端中保存的游戏房间信息之后而生成;
S4,在游戏服务器根据第二游戏终端发送的进入游戏房间请求,允许第二游戏终端进入游戏房间之后,断开第二临时通信连接。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:游戏服务器与第一游戏终端建立第三临时通讯连接之后,接收第一游戏终端发送的控制信息,其中,控制信息至少包括:开始游戏信息和结束游戏信息;在游戏服务器根据控制信息,向第一游戏终端发送第二游戏终端的游戏数据信息之后,断开第三临时通讯连接,其中,游戏数据信息至少包括:游戏人数信息、游戏分数信息;游戏服务器与第二游戏终端建立第四临时通讯连接,并接收第二游戏终端发送的游戏数据信息之后,将控制信息发送至第二游戏终端,并在断开第四临时通讯连接。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当第二游戏终端接收到的游戏控制信息为开始游戏信息时,第二游戏终端以预设的第一时间频率与游戏服务器建立第五临时通讯连接;在第二游戏终端与游戏服务器建立临时通讯连接之后,向游戏服务器发送游戏数据信息。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:游戏服务器获取第二游戏终端与游戏服务器建立临时通讯连接的实时时间间隔;游戏服务器通过将实时时间间隔与预设的时间阈值进行比对,判断与第二游戏终端的通讯状态是否为通讯中断;当实时时间间隔大于时间阈值时,确定与第二游戏终端的通讯状态为通讯终端。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:从第二游戏终端获取第一时间频率;根据第一时间频率,确定第二游戏终端发送游戏数据信息的标准时间间隔;根据标准时间间隔与预先设置的计算系数,计算得到时间阈值。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当第一游戏终端向游戏服务器发送开始游戏信息之后,第一游戏终端以预设的第二时间频率与游戏服务器建立临时通讯连接;在第一游戏终端与游戏服务器建立临时通讯连接之后,向游戏服务器发送获取第二游戏终端的游戏数据信息的数据请求信息。可选的,上述处理器51还可以执行如下步骤的程序代码:游戏服务器获取第二游戏终端的身份信息;游戏服务器根据获取到的身份信息向身份认证服务器发送身份认证请求;游戏服务器根据身份认证服务器返回的身份认证结果,确定第二游戏终端的身份信息是否认证通过。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:第二游戏终端从第一游戏终端获取游戏房间信息,其中,第二游戏终端从第一游戏终端获取游戏房间信息的获取方式至少包括:通过二维码扫描的方式获取、通过近场通讯的方式获取、通过第三方即时通讯客户端的方式获取。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种多终端的实时通讯方法,其特征在于,包括:
游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收所述第一游戏终端发送的游戏开启请求;
在所述游戏服务器根据所述游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至所述第一游戏终端,并断开所述第一临时通讯连接;
所述游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收所述第二游戏终端发送的进入游戏房间请求,其中,所述进入游戏房间请求由所述第二游戏终端在通过获取所述第一游戏终端中保存的所述游戏房间信息之后而生成;
在所述游戏服务器根据所述第二游戏终端发送的进入游戏房间请求,允许所述第二游戏终端进入所述游戏房间之后,断开所述第二临时通信连接。
2.根据权利要求1所述的方法,其特征在于,在断开所述第二临时通信连接之后,所述方法还包括:
所述游戏服务器与所述第一游戏终端建立第三临时通讯连接之后,接收所述第一游戏终端发送的控制信息,其中,所述控制信息至少包括:开始游戏信息和结束游戏信息;
在所述游戏服务器根据所述控制信息,向所述第一游戏终端发送所述第二游戏终端的游戏数据信息之后,断开所述第三临时通讯连接,其中,所述游戏数据信息至少包括:游戏人数信息、游戏分数信息;
所述游戏服务器与所述第二游戏终端建立第四临时通讯连接,并在接收所述第二游戏终端发送的游戏数据信息之后,将所述控制信息发送至所述第二游戏终端,并断开所述第四临时通讯连接。
3.根据权利要求2所述的方法,其特征在于,在断开所述第四临时通讯连接之后,所述方法还包括:
当所述第二游戏终端接收到的所述游戏控制信息为所述开始游戏信息时,所述第二游戏终端以预设的第一时间频率与所述游戏服务器建立第五临时通讯连接;
在所述第二游戏终端与所述游戏服务器建立所述第五临时通讯连接之后,向所述游戏服务器发送所述游戏数据信息。
4.根据权利要求3所述的方法,其特征在于,在断开所述第四临时通讯连接之后,所述方法还包括:
所述游戏服务器获取所述第二游戏终端与所述游戏服务器建立临时通讯连接的实时时间间隔;
所述游戏服务器通过将所述实时时间间隔与预设的时间阈值进行比对,判断与所述第二游戏终端的通讯状态是否为通讯中断;
当所述实时时间间隔大于所述时间阈值时,确定与所述第二游戏终端的通讯状态为通讯中断。
5.根据权利要求4所述的方法,其特征在于,所述时间阈值的获取方法包括:
从所述第二游戏终端获取第一时间频率;
根据所述第一时间频率,确定所述第二游戏终端发送所述游戏数据信息的标准时间间隔;
根据所述标准时间间隔与预先设置的计算系数,计算得到所述时间阈值。
6.根据权利要求2所述的方法,其特征在于,在断开所述第四临时通讯连接之后,所述方法还包括:
在所述第一游戏终端向所述游戏服务器发送所述开始游戏信息之后,所述第一游戏终端以预设的第二时间频率与所述游戏服务器建立第六临时通讯连接;
在所述第一游戏终端与所述游戏服务器建立所述第六临时通讯连接之后,向所述游戏服务器发送获取所述第二游戏终端的所述游戏数据信息的数据请求信息。
7.根据权利要求1所述的方法,其特征在于,在接收所述第二游戏终端发送的进入游戏房间请求之后,所述方法还包括:
所述游戏服务器获取所述第二游戏终端的身份信息;
所述游戏服务器根据获取到的所述身份信息向身份认证服务器发送身份认证请求;
所述游戏服务器根据所述身份认证服务器返回的身份认证结果,确定所述第二游戏终端的所述身份信息是否认证通过。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,在所述游戏服务器根据所述游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至所述第一游戏终端,并断开所述第一临时通讯连接的步骤之后,所述方法还包括:
所述第二游戏终端从所述第一游戏终端获取所述游戏房间信息,其中,所述第二游戏终端从所述第一游戏终端获取所述游戏房间信息的获取方式至少包括:通过二维码扫描的方式获取、通过近场通讯的方式获取、通过第三方即时通讯客户端的方式获取。
9.一种多终端的实时通讯装置,其特征在于,包括:
第一接收模块,用于游戏服务器与第一游戏终端建立第一临时通讯连接之后,接收所述第一游戏终端发送的游戏开启请求;
生成模块,用于在所述游戏服务器根据所述游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至所述第一游戏终端,并断开所述第一临时通讯连接;
第二接收模块,用于所述游戏服务器与第二游戏终端建立第二临时通讯连接之后,接收所述第二游戏终端发送的进入游戏房间请求,其中,所述进入游戏房间请求由所述第二游戏终端在通过获取所述第一游戏终端中保存的所述游戏房间信息之后而生成;
认证模块,用于在所述游戏服务器根据所述第二游戏终端发送的进入游戏房间请求,允许所述第二游戏终端进入所述游戏房间之后,断开所述第二临时通信连接。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于所述游戏服务器与所述第一游戏终端建立第三临时通讯连接之后,接收所述第一游戏终端发送的控制信息,其中,所述控制信息至少包括:开始游戏信息和结束游戏信息;
第一发送模块,用于在所述游戏服务器根据所述控制信息,向所述第一游戏终端发送所述第二游戏终端的游戏数据信息之后,断开所述第三临时通讯连接,其中,所述游戏数据信息至少包括:游戏人数信息、游戏分数信息;
通讯模块,用于所述游戏服务器与所述第二游戏终端建立第四临时通讯连接,并在接收所述第二游戏终端发送的游戏数据信息之后,将所述控制信息发送至所述第二游戏终端,并断开所述第四临时通讯连接。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一通讯建立模块,用于当所述第二游戏终端接收到的所述游戏控制信息为所述开始游戏信息时,所述第二游戏终端以预设的第一时间频率与所述游戏服务器建立第五临时通讯连接;
第一数据发送模块,用于在所述第二游戏终端与所述游戏服务器建立所述第五临时通讯连接之后,向所述游戏服务器发送所述游戏数据信息。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于所述游戏服务器获取所述第二游戏终端与所述游戏服务器建立临时通讯连接的实时时间间隔;
比对模块,用于所述游戏服务器通过将所述实时时间间隔与预设的时间阈值进行比对,判断与所述第二游戏终端的通讯状态是否为通讯中断;
第一确定模块,用于当所述实时时间间隔大于所述时间阈值时,确定与所述第二游戏终端的通讯状态为通讯中断。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二通讯建立模块,用于在所述第一游戏终端向所述游戏服务器发送所述开始游戏信息之后,所述第一游戏终端以预设的第二时间频率与所述游戏服务器建立第六临时通讯连接;
第二数据发送模块,用于在所述第一游戏终端与所述游戏服务器建立所述第六临时通讯连接之后,向所述游戏服务器发送获取所述第二游戏终端的所述游戏数据信息的数据请求信息。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于所述游戏服务器获取所述第二游戏终端的身份信息;
第二发送模块,用于所述游戏服务器根据获取到的所述身份信息向身份认证服务器发送身份认证请求;
第二确定模块,用于所述游戏服务器根据所述身份认证服务器返回的身份认证结果,确定所述第二游戏终端的所述身份信息是否认证通过。
15.根据权利要求9至14中任意一项所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于所述第二游戏终端从所述第一游戏终端获取所述游戏房间信息,其中,所述第二游戏终端从所述第一游戏终端获取所述游戏房间信息的获取方式至少包括:通过二维码扫描的方式获取、通过近场通讯的方式获取、通过第三方即时通讯客户端的方式获取。
16.一种多终端的实时通讯系统,其特征在于,包括:
第一游戏终端,用于在与游戏服务器建立第一临时通讯连接之后,向所述游戏服务器发送游戏开启请求,并接收所述游戏服务器生成的游戏房间信息;
第二游戏终端,在与所述游戏服务器建立第二临时通讯连接之后,用于根据所述游戏房间信息向所述游戏房间发送游戏房间请求;
所述游戏服务器,与所述第一游戏终端与所述第二游戏终分别端建立临时通讯连接,用于接收所述游戏开启请求,并在根据所述游戏开启请求创建游戏房间之后,将生成的游戏房间信息返回至所述第一游戏终端,并断开所述第一临时通讯连接;
所述游戏服务器还用于接收所述第二游戏终端发送的进入游戏房间请求,并在根据所述进入游戏房间请求允许所述第二游戏终端进入所述游戏房间之后,断开所述第二临时通信连接。
CN201510490602.4A 2015-08-11 2015-08-11 多终端的实时通讯方法、装置及系统 Active CN106422324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510490602.4A CN106422324B (zh) 2015-08-11 2015-08-11 多终端的实时通讯方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510490602.4A CN106422324B (zh) 2015-08-11 2015-08-11 多终端的实时通讯方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106422324A CN106422324A (zh) 2017-02-22
CN106422324B true CN106422324B (zh) 2019-09-20

Family

ID=58093217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510490602.4A Active CN106422324B (zh) 2015-08-11 2015-08-11 多终端的实时通讯方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106422324B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040600A (zh) * 2017-04-20 2017-08-11 暴风集团股份有限公司 一种用于体育赛事的实时互动方法和实时互动系统
CN109039851B (zh) * 2017-06-12 2020-12-29 腾讯科技(深圳)有限公司 交互数据处理方法、装置、计算机设备和存储介质
CN107547531A (zh) * 2017-08-23 2018-01-05 北京闲徕互娱网络科技有限公司 创建棋牌类网络游戏房间的方法及系统、终端、服务器
CN107930113B (zh) * 2017-12-12 2021-01-29 苏州蜗牛数字科技股份有限公司 一种基于客户端同步的Xbox平台多人游戏接入控制方法
CN110071861B (zh) * 2018-01-24 2021-08-27 腾讯科技(深圳)有限公司 信息的分享方法和装置、存储介质、电子装置
CN110102047B (zh) * 2018-02-01 2023-10-24 腾讯科技(上海)有限公司 游戏操作处理方法和装置、游戏效果展示方法和装置
CN110327621A (zh) * 2019-04-24 2019-10-15 上海恺英网络科技有限公司 用于网络游戏客户端匹配的方法及设备
CN110213298B (zh) * 2019-06-28 2021-04-09 腾讯科技(深圳)有限公司 联机房间的提供方法、装置、设备及介质
CN111803924B (zh) * 2019-12-03 2023-05-09 厦门雅基软件有限公司 云游戏的多终端同步显示方法、装置及可读存储介质
CN113457165A (zh) * 2021-06-30 2021-10-01 网易(杭州)网络有限公司 游戏多端登录控制方法、装置以及终端设备、服务器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887485A (zh) * 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 一种在棋牌游戏中实现稳妥的掉线重连的方法
JP5972978B2 (ja) * 2012-12-21 2016-08-17 グリー株式会社 プログラム、サーバ装置、及びゲーム制御方法
CN103049667B (zh) * 2012-12-28 2015-08-05 福建天晴数码有限公司 能运行多种不同类型棋牌类游戏的竞技系统
CN103491179B (zh) * 2013-09-27 2017-01-18 百视通网络电视技术发展有限责任公司 基于Web的多屏互动方法及系统
CN104168282B (zh) * 2014-08-22 2018-05-08 广州博冠信息科技有限公司 跨平台游戏通信方法及系统
CN204017339U (zh) * 2014-08-29 2014-12-17 成都宇银科技有限公司 棋牌类游戏/竞赛的记分统计系统

Also Published As

Publication number Publication date
CN106422324A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106422324B (zh) 多终端的实时通讯方法、装置及系统
US11691078B2 (en) Program, method, and system of transmitting or receiving message
EP1206954B1 (en) Game machine, server system, information service method and recording medium
CN106131057B (zh) 基于虚拟现实场景的认证和装置
CN109756504A (zh) 一种基于直播平台的通信方法及相关装置
CN108513154A (zh) 基于智能电视的智能家居控制方法、智能电视及存储介质
CN104519124B (zh) 一种虚拟资源的分配方法以及装置
CN112235594B (zh) 直播连麦的方法及装置、计算机可读介质、电子设备
CN105931081A (zh) 事件处理方法和装置
CN111314714B (zh) 一种游戏直播方法和装置
CN104917631B (zh) 预测发起、参与及信息处理方法、装置及系统
KR20150097400A (ko) 기록 매체 및 서버
CN107147562A (zh) 消息处理方法和装置
CN105119918A (zh) 实现应用跨平台交互的方法及终端设备
CN104506923B (zh) 一种多媒体处理装置、多媒体处理服务器及其方法
CN109274695A (zh) 可视频的售后客服系统
CN110519761A (zh) 用户身份识别卡的验证方法、装置、电子设备及存储介质
CN109218370A (zh) 消息发送方法及装置、电子设备
CN104092694B (zh) 一种手机游戏的账号分配的方法及系统
CN105903191B (zh) 跨终端的数据处理方法及系统
CN108096838A (zh) 礼包领取方法、装置、服务器、移动终端及存储介质
CN107087293A (zh) 一种接入方法、终端及服务器
CN110324653A (zh) 游戏互动交互方法及系统、电子设备及具有存储功能的装置
CN109729582A (zh) 信息交互方法、装置及计算机可读存储介质
CN113244609A (zh) 多画面的显示方法和装置、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant