CN111770043A - 游戏数据通信方法、装置、存储介质及电子设备 - Google Patents
游戏数据通信方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111770043A CN111770043A CN201910256978.7A CN201910256978A CN111770043A CN 111770043 A CN111770043 A CN 111770043A CN 201910256978 A CN201910256978 A CN 201910256978A CN 111770043 A CN111770043 A CN 111770043A
- Authority
- CN
- China
- Prior art keywords
- data communication
- request
- data
- game
- server
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及计算机技术领域,具体涉及一种游戏数据通信方法、游戏数据通信装置、计算机可读存储介质及电子设备。本公开实施例中的游戏数据通信方法包括:获取与目标游戏数据相关的数据通信信息,并确定与所述数据通信信息相对应的应用程序编程接口;利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;接收并处理由所述服务器返回的针对所述数据通信请求的应答数据。该方法通过配置应用程序编程接口能够实现游戏客户端与服务器之间基于超文本传输协议的数据通信,提高了游戏内容架构的灵活性和普适性。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种游戏数据通信方法、游戏数据通信装置、计算机可读存储介质及电子设备。
背景技术
在现有的网络游戏中,一般在游戏客户端与服务器之间会采用面向连接的传输控制协议(Transmission Control Protocol,TCP)或者采用无连接的用户数据报协议(UserDatagram Protocol,UDP)进行数据通信。采用TCP或者UDP等通信方式能够获取较快的响应速度,进而提高游戏功能的实时性和同步性,但是这也限制了相关游戏功能的访问途径,用户也只能通过游戏客户端的单一入口与服务器进行数据通信,存在灵活性差的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种游戏数据通信方法、游戏数据通信装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的通信方式单一、通信灵活性差的技术问题。
根据本公开的一个方面,提供一种游戏数据通信方法,其特殊之处在于,包括:
获取与目标游戏数据相关的数据通信信息,并确定与所述数据通信信息相对应的应用程序编程接口;
利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;
接收并处理由所述服务器返回的针对所述数据通信请求的应答数据。
在本公开的一种示例性实施方式中,所述数据通信信息包括所述目标游戏数据的数据标识信息、统一资源定位符、数据处理指令和回调函数信息中的一个或者多个。
在本公开的一种示例性实施方式中,所述确定与所述数据通信信息相对应的应用程序编程接口,包括:
根据所述数据通信信息生成数据通信命令;
通过所述数据通信命令查询预设的应用程序编程接口配置文件,以确定与所述数据通信信息相对应的应用程序编程接口。
在本公开的一种示例性实施方式中,所述利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求,包括:
在游戏主进程之外创建用于处理超文本传输协议请求信息的处理线程;其中,所述处理线程上维护有请求队列和应答队列;
利用所述应用程序编程接口将与所述数据通信信息相关的请求数据放置于所述请求队列中;
通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求。
在本公开的一种示例性实施方式中,所述接收并处理由所述服务器返回的针对所述数据通信请求的应答数据,包括:
接收由所述服务器返回的针对所述数据通信请求的应答数据;
将所述应答数据放置于所述应答队列中;
依次处理所述应答队列中的应答数据。
在本公开的一种示例性实施方式中,所述游戏数据通信方法还包括:
当所述请求队列和所述应答队列均为空时,阻塞所述处理线程直至所述请求队列中出现新的请求数据。
在本公开的一种示例性实施方式中,所述通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,包括:
获取所述请求队列中各个请求数据的优先级信息;
按照所述优先级信息依次处理各个所述请求数据以向服务器发送基于超文本传输协议的数据通信请求。
在本公开的一种示例性实施方式中,所述通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,包括:
将所述请求队列划分为多个子队列,并创建与所述多个子队列相对应的栈;
依次处理位于栈顶的子队列中的请求数据以向服务器发送基于超文本传输协议的数据通信请求。
根据本公开的一个方面,提供一种游戏数据通信装置,其特殊之处在于,包括:
信息获取模块,被配置为获取与目标游戏数据相关的数据通信信息,并确定与所述数据通信信息相对应的应用程序编程接口;
请求发送模块,被配置为利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;
数据处理模块,被配置为接收并处理由所述服务器返回的针对所述数据通信请求的应答数据。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的游戏数据通信方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的游戏数据通信方法。
在本公开实施例所提供的游戏数据通信方法中,通过配置应用程序编程接口能够实现游戏客户端与服务器之间基于超文本传输协议的数据通信。在传统的TCP连接或者UDP连接之外,提供了另一种游戏功能的数据通信实现途径,尤其可以将一部分对通信实时性要求不高的游戏功能剥离至浏览器或者其他实现平台上,提高了游戏内容架构的灵活性和普适性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开一种示例性实施方式中游戏数据通信方法的步骤流程图。
图2示意性示出本公开一种示例性实施方式中游戏数据通信方法的部分步骤流程图。
图3示意性示出本公开一种示例性实施方式中游戏数据通信方法的部分步骤流程图。
图4示意性示出本公开一种示例性实施方式中游戏数据通信方法的部分步骤流程图。
图5示意性示出本公开一种示例性实施方式中游戏数据通信方法的部分步骤流程图。
图6示意性示出本公开一种示例性实施方式中游戏数据通信方法的部分步骤流程图。
图7示出了一种基于本公开示例性实施方式中游戏数据通信方法的API调用示例。
图8示意性示出本公开示例性实施方式中游戏数据通信装置的组成框图。
图9示意性示出本公开示例性实施方式中一种程序产品的示意图。
图10示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开的示例性实施方式中首先提供一种游戏数据通信方法,该方法可以应用于游戏客户端,实现游戏客户端和服务器之间基于超文本传输协议(Hyper Text TransferProtocol,HTTP)对一些与特定游戏功能相对应的目标游戏数据进行数据通信。
如图1所示,本示例性实施方式提供的游戏数据通信方法主要可以包括以下步骤:
步骤S110.获取与目标游戏数据相关的数据通信信息,并确定与数据通信信息相对应的应用程序编程接口。
本步骤首先可以获取与目标游戏数据相关的数据通信信息,例如用户需要访问游戏场景内的虚拟游戏商城,那么本步骤即可获取与该虚拟游戏商城相关的数据通信信息。在用户的游戏界面上,虚拟游戏商城可以提供商品的查询、买入、卖出、修改定价等游戏功能,其中各项游戏功能的实现大多都是由客户端与服务器进行数据通信以为其提供数据支持的。针对获取到的数据通信信息,本步骤还将确定与之相对应的应用程序编程接口(Application Programming Interface,API)。在本示例性实施方式中可以对各种游戏功能配置相关的API接口,通过调用API即可进行数据通信以实现相关游戏功能。
步骤S120.利用应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求。
在由步骤S110确定相应的应用程序编程接口之后,本步骤将基于该应用程序接口相服务器发送基于超文本传输协议(即HTTP协议)的数据通信请求。HTTP协议是无连接的,服务端处理完客户端的请求后会立即断开连接,也就是说客户端发出的每个请求都是独立的,与前面发出的请求不存在依赖性。此外,由于是无连接的,所有的请求均由客户端发出,服务端响应,服务端并不能主动向客户端发送数据。
步骤S130.接收并处理由服务器返回的针对数据通信请求的应答数据。
基于客户端通过HTTP协议发出的数据通信请求,服务器将做出响应。客户端则接收由服务器返回的针对数据通信请求的应答数据,并对应答数据做进一步处理,以实现相应的游戏功能。从客户端向服务器发出一数据通信请求至接收到服务器返回的应答数据即完成一次完整的数据通信过程。
在本示例性实施方式提供的游戏数据通信方法中,通过配置应用程序编程接口能够实现游戏客户端与服务器之间基于超文本传输协议的数据通信。在传统的TCP连接或者UDP连接之外,提供了另一种游戏功能的数据通信实现途径,尤其可以将一部分对通信实时性要求不高的游戏功能剥离至浏览器或者其他实现平台上,提高了游戏内容架构的灵活性和普适性。
在以上示例性实施方式的基础上,步骤S110中获取到的与目标游戏数据相关的数据通信信息可以包括目标游戏数据的数据标识信息、统一资源定位符、数据处理指令和回调函数信息。其中,数据标识信息反映了目标数据的差异化标识,例如用户希望获取的目标游戏数据是游戏场景内特定地点的地图,那么数据标识信息可以是该地图区别于其他地点地图的标识编码(即ID)。统一资源定位符(Uniform Resoure Locator,URL)反映目标数据的存储地址,相应地还可以提供目标数据的存储路径。数据处理指令是实现相应游戏功能时需要对目标游戏数据做出的操作指令,例如可以包括“读取”、“新建”、“更新”等等。回调函数信息用于确定在获取到服务器返回的应答数据后的回调函数。
如图2所示,在本公开的另一示例性实施方式中,步骤S110中的确定与数据通信信息相对应的应用程序编程接口,可以进一步包括以下步骤:
步骤S210.根据数据通信信息生成数据通信命令。
步骤S220.通过数据通信命令查询预设的应用程序编程接口配置文件,以确定与数据通信信息相对应的应用程序编程接口。
根据获取到的数据通信信息,例如目标游戏数据的数据标识信息、统一资源定位符、数据处理指令和回调函数信息等等,步骤S210将生成一数据通信命令(command)。通过执行步骤S210中生成的数据通信命令可以查询预设的应用程序编程接口配置文件,以确定与数据通信信息相对应的应用程序编程接口。
如图3所示,在以上示例性实施方式的基础上,步骤S120.利用应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求,可以包括以下步骤:
步骤S310.在游戏主进程之外创建用于处理超文本传输协议请求信息的处理线程;其中,处理线程上维护有请求队列和应答队列。
HTTP请求本质上还是数据的输入和输出操作,本步骤将在游戏主进程之外额外创建一用于专门处理HTTP请求的处理线程,该处理线程上维护有至少一个请求队列和至少一个应答队列。
步骤S320.利用应用程序编程接口将与数据通信信息相关的请求数据放置于请求队列中。
通过应用程序编程接口形成的与数据通信信息相关的请求数据将首先被放置在处理线程所维护的请求队列中,以等待线程主循环进行处理。
步骤S330.通过处理请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求。
处理线程主循环可以采用先进先出的方式对请求队列中的请求数据依次进行处理,以实现向服务器发送基于超文本传输协议的数据通信请求。例如,处理线程主循环可以对最先放置在请求队列中的请求数据进行处理以发送与之对应的数据通信请求,发送完成之后再继续处理请求队列中的下一项请求数据。另外,在其他一些实施例中,处理线程主循环也可以采用先进后出或者其他任意的处理方式对请求队列中的请求数据进行处理,本公开对此不做特殊限定。
在本示例性实施方式中,通过在游戏主线程之外创建处理线程可以在不影响游戏原本性能的情况下,对HTTP请求进行更快速的处理。如此一来,游戏主线程可以将更多的CPU资源提供给游戏内容本身,而避免将过多的资源浪费在发送和接收HTTP请求上,保证游戏内容流畅度的同时,提高HTTP请求的处理效率。
如图4所示,基于以上示例性实施方式,步骤S130.接收并处理由服务器返回的针对数据通信请求的应答数据,可以进一步包括以下步骤:
步骤S410.接收由服务器返回的针对数据通信请求的应答数据。
在步骤S330中,通过不断处理请求队列中的请求数据,可以持续向服务器发送数据通信请求。与之相对应的,本步骤也将持续接收由服务器向客户端返回的针对数据通信请求的应答数据。
步骤S420.将应答数据放置于应答队列中。
由步骤S410接收到的应答数据将被放置在由处理线程维护的应答队列中,等待处理线程主循环进行处理。
步骤S430.依次处理应答队列中的应答数据。
处理线程主循环可以采用先进先出的处理方式对应答队列中的应答数据依次进行处理。例如,处理线程主循环可以对最先放置在应答队列中的应答数据进行处理以实现与数据通信请求相对应的游戏功能,处理完成之后再继续处理应答队列中的下一项应答数据。另外,在其他一些实施例中,处理线程主循环也可以采用先进后出或者其他任意的处理方式对应答队列中的应答数据进行处理,本公开对此不做特殊限定。
当处理线程所维护的请求队列和应答队列均为空时,可以阻塞该处理线程直至请求队列中出现新的请求数据。如果请求队列和应答队列均为空,则可以认为处理线程主循环已完成当前所有的请求数据和应答数据,阻塞处于空闲状态的处理线程可以进一步节约游戏资源。
如图5所示,在本公开的另一示例性实施方式中,步骤S330.通过处理请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,可以进一步包括以下步骤:
步骤S510.获取请求队列中各个请求数据的优先级信息。
本示例性实施方式可以通过文件对请求数据的处理优先级进行配置,即可以很方便地指定哪些请求的优先级更高。针对请求队列中的各项请求数据,本步骤可以获取其各自的优先级信息。
步骤S520.按照优先级信息依次处理各个请求数据以向服务器发送基于超文本传输协议的数据通信请求。
根据步骤S510中所获取的优先级信息,本步骤可以按照优先级的先后顺序依次对请求队列中的各项请求数据进行处理,以向服务器发送基于超文本传输协议的数据通信请求。
在本示例性实施方式中,将请求队列中的先进先出的处理方式修改为按照优先级高低顺序进行处理,也就是将请求队列由原来的Queue变成Priority Queue。基于优先级的处理方式可以避免在请求队列中请求数据较多时,新加入的请求容易陷入饥饿状态的问题。举例而言,在先进先出的处理方式下,用户点击了一个新的页面,而由于前面的请求还没有处理完,新的页面可能需要等待很久才能被处理,因而产生游戏卡顿。而在基于优先级的处理方式下,如果新的页面具有更高的优先级,则可以被优先处理,在一定程度上克服或者缓解因请求数量大而导致的游戏卡顿问题。
如图6所示,在本公开的另一示例性实施方式中,步骤S330.通过处理请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,也可以包括以下步骤:
步骤S610.将请求队列划分为多个子队列,并创建与多个子队列相对应的栈。
本步骤首先将由处理线程维护的请求队列做分层处理,即将请求队列划分为多个子队列,并创建用于存放由请求队列划分得到的多个子队列的栈(stack)。
步骤S620.依次处理位于栈顶的子队列中的请求数据以向服务器发送基于超文本传输协议的数据通信请求。
基于栈的先进后出的特性,新加入的子队列将被放置在栈顶,而本步骤也将依次处理位于栈顶的子队列中的请求数据,以基于超文本传输协议向服务器发送与位于栈顶的子队列中的请求数据相对应的的数据通信请求。
举例而言,当用户新打开一个页面的时候,当前页面的请求将被暂停,同时新建一个请求队列的子队列入栈(Push),并且只处理栈顶的请求队列中的请求。当用户离开该页面时,将栈顶的请求队列出栈,并且其中的请求队列也被丢弃。具体地,在一HTTP请求管理器中,初始化时可以新建一个线程RequestThread(),该线程负责请求的发送和响应。req_stack存放着当前接收到的所有请求,它实际上是一个存放着PriorityQueue的stack。当执行PushReqQueue()时,会向这个stack中push一个PriorityQueue,请求管理器只会处理stack栈顶的请求队列。通过这种请求队列分层以及基于栈的方式,可以在不占用游戏过多资源的情况下,保证用户的请求能及时被处理,让用户不会感觉到卡顿。
为了兼容浏览器,本公开以上示例性实施方式中所涉及的URL也就是API应当符合表征状态转移(RESTful)的设计规范,也就是客户端发出的数据操作指令都是"动词+宾语"的结构,动词常用的是以下五个,也就是五种HTTP方法:
1.GET:读取
2.POST:新建
3.PUT:更新
4.PATCH:部分更新
5.DELETE:删除
此外,服务器返回的回应状态码也应当是RESTful的,例如200表示成功,400表示请求不合法等等。
针对上述要求,本公开可以将所有的API进行可配置化,也就是配置驱动代码的方式,对功能的修改只需改配置文件即可。其中一个应用示例如图7所示。
可以看到,该API对应的配置文件是一个dict,它的key是get_map,对应该API的名字。其中url+path表示该API的地址,它对应的方法是GET,也就是该请求是一个读取数据的请求。此外,本公开还可以为该API配置额外的参数保存在args这个值中。
客户端对该API的调用过程如下:
1.调用者提供需要获取的地图ID,以及获取地图数据后的回调函数,生成一个command,然后调用do_command这个接口。
2.do_command获取API配置文件,并查找是否存在该API。若存在,则提取该command的各种参数,包括该方法对应的URL,HTTP方法,优先级,以及是否进行缓存等信息;若不存在,则直接返回。
3.若该command设置了进行缓存,则优先从缓存获取数据。
4.若该command不进行缓存,或者缓存已经失效,则根据URL和HTTP方法使用HTTP请求管理器(HttpMgr)发出请求。
HttpMgr请求成功后或者失败后,主动调用command中的回调函数,客户端这时就可以对数据进行处理。
需要说明的是,虽然以上示例性实施方式以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施方式中,还提供一种对应于以上实施例中游戏数据通信方法的游戏数据通信装置。如图8所示,游戏数据通信装置800主要可以包括:信息获取模块810、请求发送模块820和数据处理模块830。
其中,信息获取模块810被配置为获取与目标游戏数据相关的数据通信信息,并确定与数据通信信息相对应的应用程序编程接口;请求发送模块820被配置为利用应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;数据处理模块830被配置为接收并处理由服务器返回的针对数据通信请求的应答数据。
上述游戏数据通信装置的具体细节已经在对应的游戏数据通信方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的游戏数据通信方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图9所示,根据本公开的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施方式中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图10对本示例性实施方式中的电子设备1000进行描述。电子设备1000仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同系统组件(包括处理单元1010和存储单元1020)的总线1030、显示单元1040。
其中,存储单元1020存储有程序代码,所述程序代码可以被处理单元1010执行,使得处理单元1010执行本公开中上述各示例性实施例中的方法步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元1021(RAM)和/或高速缓存存储单元1022,还可以进一步包括只读存储单元1023(ROM)。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060可以通过总线1030与电子设备1000的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。
Claims (11)
1.一种游戏数据通信方法,其特征在于,包括:
获取与目标游戏数据相关的数据通信信息,并确定与所述数据通信信息相对应的应用程序编程接口;
利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;
接收并处理由所述服务器返回的针对所述数据通信请求的应答数据。
2.根据权利要求1所述的游戏数据通信方法,其特征在于,所述数据通信信息包括所述目标游戏数据的数据标识信息、统一资源定位符、数据处理指令和回调函数信息中的一个或者多个。
3.根据权利要求1所述的游戏数据通信方法,其特征在于,所述确定与所述数据通信信息相对应的应用程序编程接口,包括:
根据所述数据通信信息生成数据通信命令;
通过所述数据通信命令查询预设的应用程序编程接口配置文件,以确定与所述数据通信信息相对应的应用程序编程接口。
4.根据权利要求1-3中任意一项所述的游戏数据通信方法,其特征在于,所述利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求,包括:
在游戏主进程之外创建用于处理超文本传输协议请求信息的处理线程;其中,所述处理线程上维护有请求队列和应答队列;
利用所述应用程序编程接口将与所述数据通信信息相关的请求数据放置于所述请求队列中;
通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求。
5.根据权利要求4所述的游戏数据通信方法,其特征在于,所述接收并处理由所述服务器返回的针对所述数据通信请求的应答数据,包括:
接收由所述服务器返回的针对所述数据通信请求的应答数据;
将所述应答数据放置于所述应答队列中;
依次处理所述应答队列中的应答数据。
6.根据权利要求4所述的游戏数据通信方法,其特征在于,所述方法还包括:
当所述请求队列和所述应答队列均为空时,阻塞所述处理线程直至所述请求队列中出现新的请求数据。
7.根据权利要求4所述的游戏数据通信方法,其特征在于,所述通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,包括:
获取所述请求队列中各个请求数据的优先级信息;
按照所述优先级信息依次处理各个所述请求数据以向服务器发送基于超文本传输协议的数据通信请求。
8.根据权利要求4所述的游戏数据通信方法,其特征在于,所述通过处理所述请求队列中的请求数据向服务器发送基于超文本传输协议的数据通信请求,包括:
将所述请求队列划分为多个子队列,并创建与所述多个子队列相对应的栈;
依次处理位于栈顶的子队列中的请求数据以向服务器发送基于超文本传输协议的数据通信请求。
9.一种游戏数据通信装置,其特征在于,包括:
信息获取模块,被配置为获取与目标游戏数据相关的数据通信信息,并确定与所述数据通信信息相对应的应用程序编程接口;
请求发送模块,被配置为利用所述应用程序编程接口向服务器发送基于超文本传输协议的数据通信请求;
数据处理模块,被配置为接收并处理由所述服务器返回的针对所述数据通信请求的应答数据。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任意一项所述的游戏数据通信方法。
11.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-8中任意一项所述的游戏数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256978.7A CN111770043B (zh) | 2019-04-01 | 2019-04-01 | 游戏数据通信方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256978.7A CN111770043B (zh) | 2019-04-01 | 2019-04-01 | 游戏数据通信方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111770043A true CN111770043A (zh) | 2020-10-13 |
CN111770043B CN111770043B (zh) | 2023-03-10 |
Family
ID=72718683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910256978.7A Active CN111770043B (zh) | 2019-04-01 | 2019-04-01 | 游戏数据通信方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111770043B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112891928A (zh) * | 2021-02-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 数据处理方法、存储介质及电子设备 |
CN114124748A (zh) * | 2021-10-15 | 2022-03-01 | 青岛海尔科技有限公司 | 一种基于idea平台的超文本传输协议接口调试工具及方法 |
CN114138507A (zh) * | 2021-11-09 | 2022-03-04 | 中国联合网络通信集团有限公司 | Python程序服务化方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025730A (zh) * | 2010-12-02 | 2011-04-20 | 广州杰赛科技股份有限公司 | 基于http协议的数据传输装置及其实现方法 |
CN105183445A (zh) * | 2015-07-10 | 2015-12-23 | 珠海金山网络游戏科技有限公司 | 一种基于xml的游戏人工智能的可视化设计系统 |
CN107885653A (zh) * | 2016-09-30 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 一种数据处理系统、方法及装置 |
CN108319508A (zh) * | 2017-01-18 | 2018-07-24 | 中国移动通信集团公司 | Http同步请求转为异步处理的方法及服务器 |
-
2019
- 2019-04-01 CN CN201910256978.7A patent/CN111770043B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025730A (zh) * | 2010-12-02 | 2011-04-20 | 广州杰赛科技股份有限公司 | 基于http协议的数据传输装置及其实现方法 |
CN105183445A (zh) * | 2015-07-10 | 2015-12-23 | 珠海金山网络游戏科技有限公司 | 一种基于xml的游戏人工智能的可视化设计系统 |
CN107885653A (zh) * | 2016-09-30 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 一种数据处理系统、方法及装置 |
CN108319508A (zh) * | 2017-01-18 | 2018-07-24 | 中国移动通信集团公司 | Http同步请求转为异步处理的方法及服务器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112891928A (zh) * | 2021-02-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 数据处理方法、存储介质及电子设备 |
CN114124748A (zh) * | 2021-10-15 | 2022-03-01 | 青岛海尔科技有限公司 | 一种基于idea平台的超文本传输协议接口调试工具及方法 |
CN114124748B (zh) * | 2021-10-15 | 2024-04-19 | 青岛海尔科技有限公司 | 基于idea平台的超文本传输协议接口调试装置及方法 |
CN114138507A (zh) * | 2021-11-09 | 2022-03-04 | 中国联合网络通信集团有限公司 | Python程序服务化方法、装置及计算机可读存储介质 |
CN114138507B (zh) * | 2021-11-09 | 2024-05-17 | 中国联合网络通信集团有限公司 | Python程序服务化方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111770043B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9384101B2 (en) | Web application architecture | |
EP2649500B1 (en) | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via http api utilizing a transcoding server | |
JP3943543B2 (ja) | マルチモーダル環境における対話管理およびアービトレーションを提供するシステムおよび方法 | |
US8239490B2 (en) | Exposing resource capabilities to web applications | |
CN109634718B (zh) | 云平台创建镜像的方法及系统 | |
US20140208326A1 (en) | File presenting method and apparatus for a smart terminal | |
EP2649533B1 (en) | Methods and systems for facilitating a remote desktop session utilizing long polling | |
CN111770043B (zh) | 游戏数据通信方法、装置、存储介质及电子设备 | |
US20150220239A1 (en) | Global keyboard shortcuts management for web applications | |
CN112416613B (zh) | 一种应用数据处理方法、装置、设备以及介质 | |
JPH08502841A (ja) | 分散適用業務処理ネットワーク | |
EP4210053A1 (en) | Application program control method and apparatus, electronic device, and storage medium | |
WO2012101585A1 (en) | Prioritized image rendering based on position within a web page | |
CN111190673B (zh) | 基于操作监测的页面展示方法、装置和电子设备 | |
US11023558B1 (en) | Executing functions on-demand on a server utilizing web browsers | |
AU2019446557A1 (en) | Secure web application delivery platform | |
WO2017143747A1 (zh) | 一种移动终端网络请求方法及系统 | |
CN110851276A (zh) | 一种业务请求处理方法、装置、服务器和存储介质 | |
CN112235132A (zh) | 动态配置服务的方法、装置、介质以及服务器 | |
CN117724852A (zh) | 一种云电脑计算资源分配方法及装置 | |
TW200803282A (en) | Technique for controlling external communication of embedded device using proxy server | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
US8280950B2 (en) | Automatic client-server code generator | |
US20130332568A1 (en) | Method of data processing by a navigation module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |