游戏加速控制方法与流程
本申请涉及游戏加速控制,尤其涉及一种游戏加速控制方法。
背景技术:
1、随着主机游戏、pc及移动端游戏的网络对战需求日益增长,玩家对游戏网络的低延迟、高稳定性要求愈发严苛。为优化跨运营商的网络传输路径,当前主流方案是部署专用的游戏加速器,通过建立vpn或专用隧道,将指定游戏终端的指定游戏流量导入加速路径。
2、游戏加速控制相关技术中,对加速器的控制方式主要分为以下两类:
3、一、云端中转控制方案
4、控制端(手机app)与加速器之间的所有指令(开启加速、节点切换、区服配置等)均通过部署在公网的云端服务器进行中转。该方案的缺陷在于:当控制端与加速器处于同一局域网时,控制指令仍需绕行外网,增加了不必要的传输延迟;且一旦公网出现抖动,本地控制也将受到影响。
5、二、局域网直连控制方案
6、控制端通过局域网与加速器直接通信,以实现低延迟控制。该方案的缺陷在于:弱网环境或控制端与加速器不在同一局域网时,无法进行相应的控制操作。
7、为兼顾本地低延迟和远程/弱网环境下的可用性,近年来出现了融合方案,控制端与加速器通过两条控制链路通信,在局域网内优先使用本地链路下发指令以获得低延迟;当本地不可达时,自动切换至外网链路进行远程控制。然而,该种双控制链路架构引发了一个新的技术问题:
8、加速器基于同一控制消息生成的回包(例如,若弱局域网或弱外网环境下,因通信协议原因重传,导致同一控制消息在同一链路上生成多个回包,又例如,双控制链路通信反馈原因,本地链路和外网链路的回包重复),被控制端重复接收到,导致控制端重复执行回调动作(例如界面中的加速状态刷新,重复执行导致界面闪烁)。
技术实现思路
1、本申请的主要目的在于提供一种游戏加速控制方法,旨在解决现有技术的游戏加速控制端方法加速控制延迟高和回包重复导致控制端重复执行回调动作的技术问题。
2、为实现上述目的,本申请提出一种游戏加速控制方法,包括:
3、响应于用户的加速器控制命令,生成加速器控制消息;
4、获取本地连接状态标识,所述本地连接状态标识用于表示本地mqtt连接是否可用;
5、在所述本地连接状态标识表示本地mqtt连接可用时,通过本地mqtt连接将所述加速器控制消息发送至目标加速器,或通过本地mqtt连接和外网mqtt连接将所述加速器控制消息发送至目标加速器;
6、在所述本地连接状态标识表示本地mqtt连接不可用时,通过外网mqtt连接将所述加速器控制消息发送至目标加速器;
7、在所述本地连接状态标识表示本地mqtt连接可用时,若接收到通过外网mqtt连接返回的加速状态消息,不执行回调动作,若接收到通过本地mqtt连接返回的加速状态消息,进行幂等去重处理后,根据所述加速状态消息执行相应的回调动作。
8、在一实施例中,还包括:
9、通过udp广播发送设备发现请求;
10、接收加速器发送的响应请求,所述响应请求中携带加速器的地址信息;
11、根据所述地址信息与所述加速器建立本地mqtt连接,并根据连接结果设置所述本地连接状态标识。
12、在一实施例中,所述根据所述地址信息与所述加速器建立本地mqtt连接包括:
13、使用默认本地端口,根据所述地址信息与加速器尝试建立本地mqtt连接;
14、若尝试失败,则使用备用端口,根据所述地址信息与加速器尝试建立本地mqtt连接。
15、在一实施例中,还包括:
16、在本地mqtt连接重连后,通过本地mqtt连接发送测试消息;
17、若在预设时长内没有接收到与测试消息对应的回包,则断开所述本地mqtt连接,并再次重连;
18、在预设时长内接收到与测试消息对应的回包,将本地连接状态标识更新为表示可用。
19、在一实施例中,还包括:
20、周期性校验本地mqtt连接的心跳状态;
21、根据所述心跳状态,维护所述本地连接状态标识。
22、在一实施例中,还包括:
23、获取所述加速器的协议版本标识或设备能力;
24、根据所述协议版本标识,匹配相应的topic模板;
25、所述响应于用户的加速器控制命令,生成加速器控制消息包括:
26、响应于用户的加速器控制命令,根据所述topic模板,生成加速器控制消息。
27、在一实施例中,若接收到通过本地mqtt连接返回的加速状态消息,进行幂等去重处理后,根据所述加速状态消息执行相应的回调动作包括:
28、在接收到通过本地mqtt连接返回的加速状态消息时,提取所述加速状态消息中的请求标识和消息序列号,其中,请求标识在加速控制消息生成时分配;
29、根据所述消息序列号,进行幂等去重处理;
30、根据所述请求标识匹配并执行目标回调动作。
31、在一实施例中,用于指示停止加速的加速器控制消息携带启停使能标识。
32、本申请提出的一个或多个技术方案,至少具有以下技术效果:
33、提出了一种游戏加速控制方法,通过本地连接状态标识确定加速器控制消息的传输链路,优先使用本地mqtt连接发送加速器控制消息,避免了传统云端中转方案中控制指令绕行外网带来的传输延迟;当本地连接不可用时,切换至外网链路,且外网回包正常触发回调,这保证了用户在离开局域网或本地链路故障时,仍能通过云端通道对加速器进行远程控制,实现了本地与远程的无缝切换;在接收到加速器返回的加速状态消息时,通过去重机制和外网回包抑制机制,避免无效回调动作,实现了用户体验的提升。
1.一种游戏加速控制方法,应用于控制端,其特征在于,所述方法包括:
2.如权利要求1所述的游戏加速控制方法,其特征在于,还包括:
3.如权利要求2所述的游戏加速控制方法,其特征在于,所述根据所述地址信息与所述加速器建立本地mqtt连接包括:
4.如权利要求2所述的游戏加速控制方法,其特征在于,还包括:
5.如权利要求2所述的游戏加速控制方法,其特征在于,还包括:
6.如权利要求2所述的游戏加速控制方法,其特征在于,还包括:
7.如权利要求1所述的游戏加速控制方法,其特征在于,所述若接收到通过本地mqtt连接返回的加速状态消息,进行幂等去重处理后,根据所述加速状态消息执行相应的回调动作包括:
8.如权利要求1所述的游戏加速控制方法,其特征在于,用于指示停止加速的加速器控制消息携带启停使能标识。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com