CN104572316A - 游戏程序与运行平台交互的方法和*** - Google Patents
游戏程序与运行平台交互的方法和*** Download PDFInfo
- Publication number
- CN104572316A CN104572316A CN201410852938.6A CN201410852938A CN104572316A CN 104572316 A CN104572316 A CN 104572316A CN 201410852938 A CN201410852938 A CN 201410852938A CN 104572316 A CN104572316 A CN 104572316A
- Authority
- CN
- China
- Prior art keywords
- message
- games
- operation platform
- queue
- communication unit
- 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.)
- Pending
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种游戏程序与运行平台交互的方法和***,通过游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或者,运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理,实现了游戏程序与其运行平台的解耦处理。改变了原有的游戏程序的业务逻辑直接调用运行平台的处理函数的交互方式,降低了游戏平台与运行平台交互时的风险。此外,由于游戏程序与运行平台对消息的处理是放在消息队列中进行了,也就是使得在游戏程序改变时,无需对运行平台上该游戏程序的接口进行逐个调整,大大降低了工作量,节约了维护成本。
Description
技术领域
本发明涉及游戏运行平台技术领域,尤其涉及一种游戏程序与运行平台交互的方法和***。
背景技术
目前,游戏程序的运行平台已经得到广泛应用,给诸多游戏玩家提供了便利。游戏程序在运行过程中,与其运行平台存在着诸多交互,游戏程序的业务逻辑往往需要在运行平台上进行处理。传统的游戏程序与运行平台交互方式是游戏程序的业务逻辑直接或间接地调用运行平台上对应的处理函数或回调函数。
然而,传统的游戏程序与运行平台的交互方式存在着诸多弊端。首先,运行平台并不是一成不变的,随着运行平台的拓展,如功能扩充等,运行平台的策略将发生改变。而一旦运行平台的策略发生变化,原有的游戏程序的业务逻辑在调用运行平台的处理函数或回调函数时就容易发生异常,存在着诸多安全隐患,例如在安卓***中游戏程序的线程与运行平台的线程两者并不相同,游戏程序的线程在调用运行平台的处理函数时是通过JNI(Java NativeInterface,Java本地接口)来中转的。其次,当把游戏程序移植入策略变化后的运行平台时,就需要对游戏程序原有的业务逻辑进行调整,以很好地兼容新的运行平台;或者,当游戏程序与运行平台交互时,游戏程序所传递的参数个数发生改变,则所有与该游戏程序进行交互的运行平台多需要调整该游戏程序对应的接口,不仅工作量大,费时费力,且一但接口调整过程发生错误,这对于运行平台来说将是灭顶之灾。
因此,如何让游戏程序与运行平台进行交互时,实现游戏程序与运行平台的解耦,降低游戏程序在移植入平台时对程序进行调整的工作量,进而降低游戏程序与运行平台交互时的风险是游戏运行平台技术领域一个亟需解决的问题。
发明内容
为此,需要提供一种游戏程序与运行平台交互的技术方案,用以解决游戏程序与运行平台在进行交互时,工作量大、风险性高等问题。
为实现上述目的,发明人提供了一种游戏程序与运行平台交互的方法,包括步骤:
游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或
运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理。
作为一种游戏程序与运行平台交互的方法的可实施方式,所述第一消息或第二消息为经过组装处理的消息,所述组装处理具体包括:用C++将消息参数以key和value形式组装为json串。
作为一种游戏程序与运行平台交互的方法的可实施方式,所述预设模式包括一判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。
作为一种游戏程序与运行平台交互的方法的可实施方式,判断所述消息是否属于待处理消息的方法具体包括:
判断所述消息是否属于预设类型的消息。
作为一种游戏程序与运行平台交互的方法的可实施方式,运行平台从所述第一消息队列中获取消息或游戏程序从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。
发明人还提供了一种游戏程序与运行平台交互的***,包括游戏程序、运行平台和消息平台;所述游戏程序包括第一通信单元和第一处理单元;所述运行平台包括第二通信单元和第二处理单元;
所述第一通信单元用于发送第一消息并存储入消息平台上的第一消息队列,所述第二通信单元用于从所述第一消息队列中获取消息,所述第二处理单元用于根据预设模式对消息做相应处理;或
所述第二通信单元用于发送第二消息并存储入消息平台上的第二消息队列,所述第一通信单元用于从所述第二消息队列中获取消息,所述第一处理单元用于根据预设模式对消息做相应处理。
作为一种游戏程序与运行平台交互的***的可实施方式,所述游戏程序还包括第一消息组装单元,所述运行平台还包括第二消息组装单元;
所述第一消息或第二消息为经过组装处理的消息;
所述组装处理具体包括:第一消息组装单元或第二消息组装单元用C++将消息参数以key和value形式组装为json串。
作为一种游戏程序与运行平台交互的***的可实施方式,游戏程序还包括第一判断单元,运行平台还包括第二判断单元;
所述预设模式包括一由第一判断单元或第二判断单元执行的判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。
作为一种游戏程序与运行平台交互的***的可实施方式,第一判断单元或第二判断单元判断所述消息是否属于待处理消息具体包括:
判断所述消息是否属于预设类型的消息。
作为一种游戏程序与运行平台交互的***的可实施方式,第二通信单元从所述第一消息队列中获取消息或第一通信单元从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。
区别于现有技术,上述技术方案通过游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或者,运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理,实现了游戏程序与其运行平台的解耦处理。运行平台在处理游戏程序的消息时,只需从第一消息队列中获取到对应消息即可,同理,游戏程序在处理运行平台消息时,也只需从第二消息队列中获取到对应消息即可,改变了原有的游戏程序的业务逻辑直接调用运行平台的处理函数的交互方式,降低了游戏平台与运行平台交互时的风险。此外,由于游戏程序与运行平台对消息的处理是放在消息队列中进行了,也就是使得在游戏程序改变时,无需对运行平台上该游戏程序的接口进行逐个调整,大大降低了工作量,节约了维护成本,因而在游戏运行平台技术领域具有广阔的前景。
附图说明
图1为本发明一实施方式所述游戏程序与运行平台交互的方法的流程图;
图2为本发明另一实施方式所述游戏程序与运行平台交互的方法的流程图;
图3为本发明一实施方式所述游戏程序与运行平台交互的***的示意图。
附图标记说明:
1、游戏程序;
11、第一通信单元;12、第一处理单元;13、第一消息组装单元;14、第一判断单元;
2、运行平台;
21、第二通信单元;22、第二处理单元;23、第二消息组装单元;24、第二判断单元;
3、消息平台;
31、第一消息队列;32、第二消息队列。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施方式所述游戏程序与运行平台交互的方法的流程图,所述方法可以应用于游戏程序与运行平台的交互,具体包括以下步骤:
首先进入步骤S1游戏程序发送第一消息并存储入第一消息队列。所述第一消息为游戏程序待运行平台处理的数据信息,所述第一消息队列为存储游戏程序待运行平台处理的数据信息的容器。当接收到运行平台的获取第一消息的指令时,第一消息队列会将第一消息传递给运行平台,否则第一消息队列将会继续保留第一消息,直到运行平台发出获取指令,再将第一消息传递至运行平台。因而可以进入步骤S2运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理。运行平台可以通过在运行平台的线程中进行轮询的方式从第一消息队列中获取消息,获取到第一消息队列中的消息后,运行平台可以根据预设模式调用运行平台上对应的处理函数或回调函数对这些消息进行处理,从而完成运行平台对游戏程序的数据信息的处理。
游戏程序在与其运行平台过程中,不仅运行平台需要处理游戏程序的数据信息,游戏程序也需要对运行平台的数据信息进行处理,这样才能实现游戏程序与运行平台的交互。同理,如图2所示,因而也可以步骤S3运行平台发送第二消息并存储入第二消息队列。所述第二消息为运行平台待游戏程序处理的数据信息,所述第二消息队列为存储运行平台待游戏程序处理的数据信息的容器。当接收到游戏程序的获取第二消息的指令时,第二消息队列会将第二消息传递给游戏程序,否则第二消息队列将会继续保留第二消息,直到游戏程序发出获取指令,再将第二消息传递至游戏程序。因而可以进入步骤S4游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理。游戏程序可以通过轮询的方式从第二消息队列中获取消息,获取到第二消息队列中的消息后,游戏程序可以根据预设模式调用游戏程序上对应的处理函数或回调函数对这些消息进行处理,从而完成游戏程序对运行平台的数据信息的处理。
上述技术方案通过游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或者,运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理,实现了游戏程序与其运行平台的解耦处理。改变了原有的游戏程序的业务逻辑直接调用运行平台的处理函数的交互方式,降低了游戏平台与运行平台交互时的风险。此外,由于游戏程序与运行平台对消息的处理是放在消息队列中进行了,也就是使得在游戏程序改变时,无需对运行平台上该游戏程序的接口进行逐个调整,大大降低了工作量,节约了维护成本,因而在游戏运行平台技术领域具有广阔的前景。
在本实施方式中,所述第一消息或第二消息为经过组装处理的消息,所述组装处理具体包括:用C++将消息参数以key和value形式组装为json串。游戏程序与运行平台之间交互通常伴随着消息参数的传递,当消息参数种类众多,数量庞大时,就需要对这些消息参数进行封装,一方面方便对这些消息参数进行传递,另一方面方便及时对这些消息参数进行更新与维护。Json是一种轻量级的数据交换格式,是目前最理想的数据交换格式之一,不仅易于技术人员阅读和编写,同时也便于运行其的电子设备的解析和生成。用C++将消息参数以key和value形式组装为json串,其中,key为对象的属性,value为对象对应的属性值,所述属性值的类型可以包括数字、字符串、数组等。将消息参数组装为json串形式,可以很方便地在消息队列与游戏程序、或者消息队列与运行平台之间传递json串,进而完成对第一消息或第二消息的传递,游戏程序或运行平台上的对应的处理函数可以对json串进行解封装,而后对json串中包含的消息进行处理,进而实现游戏程序与运行平台的交互。第一消息或第二消息往往需要根据实际情况对其中的参数进行动态修改,将消息的参数组装成json串,极大地方便了消息参数的拓展和维护,不仅降低了消息参数传递时的风险,也降低了维护成本。
所述预设模式包括一判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。在本实施方式中,判断所述消息是否属于待处理消息的方法具体包括:判断所述消息是否属于预设类型的消息。下面以处理第一消息为例,对判断操作进一步说明:运行平台首先预先设定自身需要处理消息的类型,当第一消息组装成的Json串解码后,里面包含着多个游戏程序的数据信息,因而运行平台会对这些数据信息进行筛选,对于属于预设类型的消息进行处理,若消息不属于预设类型,则运行平台不会进行处理。具体地,游戏程序的待运行平台处理的消息通常都包含有type信息,运行平台在将json串解码后,可以根据消息中的type信息获取该消息的消息类型,消息类型可以为一字符串。而后运行平台将所获取的消息类型与预设类型进行匹配,若匹配成功,说明此消息为游戏程序需要运行平台处理的消息,将调用运行平台中对应的处理函数或回调函数对该消息进行处理,若匹配不成功,说明此消息不是游戏程序需要运行平台处理的消息,运行平台也就无需对此消息进行处理。
同理可得,游戏程序在处理运行平台的消息时,也可以预先设定游戏程序需要处理消息的类型,当第二消息组装成的Json串解码后,里面包含着多个运行平台的数据信息,因而游戏程序会对这些数据信息进行筛选,对于属于预设类型的消息进行处理,若消息不属于预设类型,则游戏程序不会进行处理。具体地,运行平台的待游戏程序处理的消息通常都包含有type信息,游戏程序在将json串解码后,可以根据消息中的type信息获取该消息的消息类型,消息类型可以为一字符串。而后游戏程序将所获取的消息类型与预设类型进行匹配,若匹配成功,说明此消息为运行平台需要运行平台处理的消息,将调用游戏程序中对应的处理函数或回调函数对该消息进行处理,若匹配不成功,说明此消息不是运行平台需要游戏程序处理的消息,游戏程序也就无需对此消息进行处理。通过上述判断操作,使得游戏程序与运行平台之间的交互变得有章可循(只对属于预设类型的消息进行处理),从而降低了游戏程序与运行平台发生错误的风险,提高了安全性。
运行平台从所述第一消息队列中获取消息或游戏程序从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。在本实施方式中,采用FIFO(First Input First Output,先入先出队列)的方式来获取消息。对于运行平台而言,最先获取的消息是最先存入第一消息队列中的消息,而后再根据消息存入第一消息队列的先后顺序依次获取第一消息;而对于游戏程序,最先获取的消息是最先存入第二消息队列中的消息,而后再根据消息存入第二消息队列的先后顺序依次获取第二消息。FIFO具有处理简单、开销小等优点,按照消息存入消息队列的先后顺序来获取消息,也使得运行平台处理第一消息或游戏程序处理第二消息的顺序变得更加合理。
以及发明人还提供了一种游戏程序与运行平台交互的***,请参阅图3,为本发明一实施方式所述游戏程序与运行平台交互的***的示意图,所述***包括游戏程序1、运行平台2和消息平台3;所述游戏程序1包括第一通信单元11和第一处理单元12;所述运行平台2包括第二通信单元21和第二处理单元22;
所述第一通信单元11用于发送第一消息并存储入消息平台3上的第一消息队列31,所述第二通信单元21用于从所述第一消息队列中获取消息,所述第二处理单元22用于根据预设模式对消息做相应处理;或
所述第二通信单元21用于发送第二消息并存储入消息平台3上的第二消息队列32,所述第一通信单元11用于从所述第二消息队列中获取消息,所述第一处理单元12用于根据预设模式对消息做相应处理。
运行平台2在处理游戏程序1的消息时,第一通信单元11首先发送第一消息并存储入消息平台上的第一消息队列,所述第一消息为游戏程序待运行平台处理的数据信息,所述第一消息队列为存储游戏程序待运行平台处理的数据信息的容器。当接收到运行平台的获取第一消息的指令时,第一消息队列会将第一消息传递给运行平台,否则第一消息队列将会继续保留第一消息,直到运行平台发出获取指令,再将第一消息传递至运行平台。而后第二通信单元21从所述第一消息队列中获取消息,第二处理单元22根据预设模式对消息做相应处理。第二通信单元21可以通过在运行平台的线程中进行轮询的方式从第一消息队列中获取消息,获取到第一消息队列中的消息后,第二处理单元22可以根据预设模式调用运行平台上对应的处理函数或回调函数对这些消息进行处理,从而完成运行平台对游戏程序的数据信息的处理。
游戏程序在处理运行平台的消息时,第二通信单元21首先发送第二消息并存储入消息平台上的第二消息队列。所述第二消息为运行平台待游戏程序处理的数据信息,所述第二消息队列为存储运行平台待游戏程序处理的数据信息的容器。当接收到游戏程序的获取第二消息的指令时,消息平台上的第二消息队列会将第二消息传递给游戏程序,否则第二消息队列将会继续保留第二消息,直到游戏程序发出获取指令,再将第二消息传递至游戏程序。而后第一通信单元11从所述第二消息队列中获取消息,第一处理单元12根据预设模式对消息做相应处理。第一通信单元11可以通过轮询的方式从第二消息队列中获取消息,获取到第二消息队列中的消息后,第一处理单元12可以根据预设模式调用游戏程序上对应的处理函数或回调函数对这些消息进行处理,从而完成游戏程序对运行平台的数据信息的处理。
上述技术方案通过第一通信单元11发送第一消息并存储入消息平台3上的第一消息队列31,第二通信单元21从所述第一消息队列中获取消息,而后第二处理单元22根据预设模式对消息做相应处理;或者,第二通信单元21发送第二消息并存储入消息平台3上的第二消息队列32,第一通信单元11从所述第二消息队列中获取消息,所述第一处理单元12根据预设模式对消息做相应处理,实现了游戏程序与其运行平台的解耦处理。改变了原有的游戏程序的业务逻辑直接调用运行平台的处理函数的交互方式,降低了游戏平台与运行平台交互时的风险。此外,由于游戏程序与运行平台对消息的处理是放在消息队列中进行了,也就是使得在游戏程序改变时,无需对运行平台上该游戏程序的接口进行逐个调整,大大降低了工作量,节约了维护成本,因而在游戏运行平台技术领域具有广阔的前景。
在本实施方式中,所述游戏程序1还包括第一消息组装单元13,所述运行平台2还包括第二消息组装单元23;所述第一消息或第二消息为经过组装处理的消息;所述组装处理具体包括:第一消息组装单元13或第二消息组装单元23用C++将消息参数以key和value形式组装为json串。游戏程序与运行平台之间交互通常伴随着消息参数的传递,当消息参数种类众多,数量庞大时,就需要对这些消息参数进行封装,一方面方便对这些消息参数进行传递,另一方面方便及时对这些消息参数进行更新与维护。Json是一种轻量级的数据交换格式,是目前最理想的数据交换格式之一,不仅易于技术人员阅读和编写,同时也便于电子设备对其进行解析和生成。用C++将消息参数以key和value形式组装为json串,其中,key为对象的属性,value为对象对应的属性值,所述属性值的类型可以包括数字、字符串、数组等。将消息参数组装为json串形式,可以很方便地在消息队列与游戏程序、或者消息队列与运行平台之间传递json串,进而完成对第一消息或第二消息的传递,游戏程序或运行平台上的对应的处理函数可以对json串进行解封装,而后对json串中包含的消息进行处理,进而实现游戏程序与运行平台的交互。第一消息或第二消息往往需要根据实际情况对其中的参数进行动态修改,将消息的参数组装成json串,极大地方便了消息参数的拓展和维护,不仅降低了消息参数传递时的风险,也降低了维护成本。
游戏程序1还包括第一判断单元14,运行平台2还包括第二判断单元24;所述预设模式包括一由第一判断单元14或第二判断单元24执行的判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。在本实施方式中,第一判断单元或第二判断单元判断所述消息是否属于待处理消息的方法具体包括:判断所述消息是否属于预设类型的消息。下面以处理第一消息为例,对判断操作进一步说明:运行平台首先预先设定自身需要处理消息的类型,当第一消息组装成的Json串解码后,里面包含着多个游戏程序的数据信息,因而第二判断单元24会对这些数据信息进行判断筛选,对于属于预设类型的消息,第二处理单元22将对其进行处理,若消息不属于预设类型,则第二处理单元22不会进行处理。具体地,游戏程序的待运行平台处理的消息通常都包含有type信息,运行平台在将json串解码后,可以根据消息中的type信息获取该消息的消息类型,消息类型可以为一字符串。而后第二判断单元24将所获取的消息类型与预设类型进行匹配,若匹配成功,说明此消息为游戏程序需要运行平台处理的消息,第二处理单元22将调用运行平台中对应的处理函数或回调函数对该消息进行处理,若匹配不成功,说明此消息不是游戏程序需要运行平台处理的消息,运行平台也就无需对此消息进行处理。
同理可得,游戏程序在处理运行平台的消息时,也可以预先设定游戏程序需要处理消息的类型,当第二消息组装成的Json串解码后,里面包含着多个运行平台的数据信息,因而第一判断单元14会对这些数据信息进行筛选,对于属于预设类型的消息,第一处理单元12将对其进行处理,若消息不属于预设类型,则第一处理单元12不会进行处理。具体地,运行平台的待游戏程序处理的消息通常都包含有type信息,游戏程序在将json串解码后,可以根据消息中的type信息获取该消息的消息类型,消息类型可以为一字符串。而后第一判断单元14将所获取的消息类型与预设类型进行匹配,若匹配成功,说明此消息为运行平台需要运行平台处理的消息,第一处理单元12将调用游戏程序中对应的处理函数或回调函数对该消息进行处理,若匹配不成功,说明此消息不是运行平台需要游戏程序处理的消息,游戏程序也就无需对此消息进行处理。通过上述判断操作,使得游戏程序与运行平台之间的交互变得有章可循(只对属于预设类型的消息进行处理),从而降低了游戏程序与运行平台发生错误的风险,提高了安全性。
第二通信单元从所述第一消息队列中获取消息或第一通信单元从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。在本实施方式中,采用FIFO(First Input First Output,先入先出队列)的方式来获取消息。对于运行平台而言,第二通信单元21最先获取的消息是第一通信单元11最先存入第一消息队列中的消息,而后第二通信单元21再根据消息存入第一消息队列的先后顺序依次获取第一消息;而对于游戏程序,第一通信单元11最先获取的消息是第二通信单元21最先存入第二消息队列中的消息,而后第一通信单元11再根据消息存入第二消息队列的先后顺序依次获取第二消息。FIFO具有处理简单、开销小等优点,按照消息存入消息队列的先后顺序来获取消息,也使得运行平台处理第一消息或游戏程序处理第二消息的顺序变得更加合理。
上述技术方案通过游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或者,运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理,实现了游戏程序与其运行平台的解耦处理。改变了原有的游戏程序的业务逻辑直接调用运行平台的处理函数的交互方式,降低了游戏平台与运行平台交互时的风险。此外,由于游戏程序与运行平台对消息的处理是放在消息队列中进行了,也就是使得在游戏程序改变时,无需对运行平台上该游戏程序的接口进行逐个调整,大大降低了工作量,节约了维护成本,因而在游戏运行平台技术领域具有广阔的前景。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (10)
1.一种游戏程序与运行平台交互的方法,包括步骤:
游戏程序发送第一消息并存储入第一消息队列,运行平台从所述第一消息队列中获取消息并根据预设模式做相应处理;或
运行平台发送第二消息并存储入第二消息队列,游戏程序从所述第二消息队列中获取消息并根据预设模式做相应处理。
2.如权利要求1所述的游戏程序与运行平台交互的方法中,所述第一消息或第二消息为经过组装处理的消息,所述组装处理具体包括:用C++将消息参数以key和value形式组装为json串。
3.如权利要求1或2所述的游戏程序与运行平台交互的方法中,所述预设模式包括一判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。
4.如权利要求3所述的游戏程序与运行平台交互的方法中,判断所述消息是否属于待处理消息的方法具体包括:
判断所述消息是否属于预设类型的消息。
5.如权利要求1或2所述的游戏程序与平台交互的方法中,运行平台从所述第一消息队列中获取消息或游戏程序从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。
6.一种游戏程序与运行平台交互的***,包括游戏程序、运行平台和消息平台;所述游戏程序包括第一通信单元和第一处理单元;所述运行平台包括第二通信单元和第二处理单元;
所述第一通信单元用于发送第一消息并存储入消息平台上的第一消息队列,所述第二通信单元用于从所述第一消息队列中获取消息,所述第二处理单元用于根据预设模式对消息做相应处理;或
所述第二通信单元用于发送第二消息并存储入消息平台上的第二消息队列,所述第一通信单元用于从所述第二消息队列中获取消息,所述第一处理单元用于根据预设模式对消息做相应处理。
7.如权利要求6所述的游戏程序与运行平台交互的***中,所述游戏程序还包括第一消息组装单元,所述运行平台还包括第二消息组装单元;
所述第一消息或第二消息为经过组装处理的消息;
所述组装处理具体包括:第一消息组装单元或第二消息组装单元用C++将消息参数以key和value形式组装为json串。
8.如权利要求6或7所述的游戏程序与运行平台交互的方法中,游戏程序还包括第一判断单元,运行平台还包括第二判断单元;
所述预设模式包括一由第一判断单元或第二判断单元执行的判断操作,所述判断操作具体包括:判断所述消息是否属于待处理消息,当判定所述消息属于待处理消息时做相应处理,否则不做处理。
9.如权利要求8所述的游戏程序与运行平台交互的方法中,第一判断单元或第二判断单元判断所述消息是否属于待处理消息具体包括:
判断所述消息是否属于预设类型的消息。
10.如权利要求6或7所述的游戏程序与平台交互的方法中,第二通信单元从所述第一消息队列中获取消息或第一通信单元从所述第二消息队列中获取消息时,按消息存储的先后顺序获取消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852938.6A CN104572316A (zh) | 2014-12-31 | 2014-12-31 | 游戏程序与运行平台交互的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852938.6A CN104572316A (zh) | 2014-12-31 | 2014-12-31 | 游戏程序与运行平台交互的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572316A true CN104572316A (zh) | 2015-04-29 |
Family
ID=53088460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410852938.6A Pending CN104572316A (zh) | 2014-12-31 | 2014-12-31 | 游戏程序与运行平台交互的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572316A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138721A (zh) * | 2019-03-22 | 2019-08-16 | 福建省天奕网络科技有限公司 | 解耦游戏服务和战斗服务的方法、存储介质 |
WO2019227899A1 (zh) * | 2018-05-31 | 2019-12-05 | 北京三快在线科技有限公司 | 程序调用解耦 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004070504A2 (en) * | 2003-02-05 | 2004-08-19 | Nokia Corporation | System and method for identifying applications targeted form message receipt in devices utilizing message queues |
CN1685693A (zh) * | 2002-09-23 | 2005-10-19 | 艾利森电话股份有限公司 | 中间件应用消息/事件模型 |
CN102520985A (zh) * | 2011-11-29 | 2012-06-27 | 深圳市万兴软件有限公司 | 一种客户端软件运行的***和方法 |
CN103761121A (zh) * | 2013-12-31 | 2014-04-30 | 深圳英飞拓科技股份有限公司 | 一种嵌入式***及其***实现方法 |
CN104184635A (zh) * | 2014-08-19 | 2014-12-03 | 烽火通信科技股份有限公司 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
-
2014
- 2014-12-31 CN CN201410852938.6A patent/CN104572316A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1685693A (zh) * | 2002-09-23 | 2005-10-19 | 艾利森电话股份有限公司 | 中间件应用消息/事件模型 |
WO2004070504A2 (en) * | 2003-02-05 | 2004-08-19 | Nokia Corporation | System and method for identifying applications targeted form message receipt in devices utilizing message queues |
CN102520985A (zh) * | 2011-11-29 | 2012-06-27 | 深圳市万兴软件有限公司 | 一种客户端软件运行的***和方法 |
CN103761121A (zh) * | 2013-12-31 | 2014-04-30 | 深圳英飞拓科技股份有限公司 | 一种嵌入式***及其***实现方法 |
CN104184635A (zh) * | 2014-08-19 | 2014-12-03 | 烽火通信科技股份有限公司 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
Non-Patent Citations (1)
Title |
---|
王友顺,陈贺明: "Windows消息队列与JSON在应用程序间通信的应用", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019227899A1 (zh) * | 2018-05-31 | 2019-12-05 | 北京三快在线科技有限公司 | 程序调用解耦 |
CN110138721A (zh) * | 2019-03-22 | 2019-08-16 | 福建省天奕网络科技有限公司 | 解耦游戏服务和战斗服务的方法、存储介质 |
CN110138721B (zh) * | 2019-03-22 | 2021-06-29 | 福建省天奕网络科技有限公司 | 解耦游戏服务和战斗服务的方法、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200360805A1 (en) | Server and data processing method, apparatus, and system | |
CN104239132B (zh) | 一种唤醒对齐的方法、装置及终端 | |
CN102413150B (zh) | 服务器、虚拟桌面控制方法以及虚拟桌面控制*** | |
CN108563517B (zh) | ***接口的调用方法及装置 | |
CN102508919B (zh) | 数据处理方法及*** | |
CN110647316B (zh) | 通用业务对象的生成方法、装置、计算机设备及存储介质 | |
CN105867944B (zh) | Web前端数据操作层及其实现方法 | |
CN104683472A (zh) | 一种支持大数据量的数据传输方法 | |
WO2020083019A1 (zh) | 一种基于多核处理器的解码方法、终端设备及存储介质 | |
CN111324667A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN108696649A (zh) | 图像处理方法、装置、设备及计算机可读存储介质 | |
CN104850516A (zh) | 一种ddr变频设计方法和装置 | |
CN108897551A (zh) | 一种资源引用关系树的生成方法及装置 | |
CN104572316A (zh) | 游戏程序与运行平台交互的方法和*** | |
CN106533850A (zh) | 一种基于nfc卡模式的面板场景控制方法 | |
CN109739514B (zh) | 参数处理方法及相关产品 | |
CN106896956A (zh) | 一种“道”***下多点触控的实现方法 | |
CN107346255A (zh) | 一种电能表***升级方法及电能表*** | |
CN115328457A (zh) | 基于参数配置的表单页面实现方法和装置 | |
CN111400281B (zh) | 一种面向oss对象存储的gis数据质检与入库方法 | |
CN103150162B (zh) | 提高嵌入式软件代码共享程度的方法 | |
CN101261580B (zh) | 一种处理数据的方法及*** | |
CN116561202A (zh) | 一种对象序列化处理的方法和装置 | |
CN106774706A (zh) | 一种服务器 | |
CN112631675A (zh) | 工作流配置方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |