网络检测方法及相关装置转让专利

申请号 : CN201910209982.8

文献号 : CN109847342B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄园

申请人 : OPPO广东移动通信有限公司

摘要 :

本申请公开了一种网络检测方法及相关装置,应用于电子设备,所述方法包括:在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包;在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值;根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟。本申请有利于在目标游戏应用运行过程中准确计算出当前的网络延迟。

权利要求 :

1.一种网络检测方法,其特征在于,应用于电子设备,所述方法包括:在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;

在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;

在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包;

在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值;

根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果;

其中,所述第一目标数据包和所述第二目标数据包为用于检测所述目标游戏应用网络延迟的用户数据报协议UDP数据包;所述方法还包括:抓取多个用于检测所述目标游戏应用网络延迟的UDP数据包,其中,所述UDP数据包包括第一目标数据包和第二目标数据包;

获取所述多个UDP数据包的有效数据,所述有效数据为UDP数据包中除去UDP报文头部分的数据;

将所述多个UDP数据包的有效数据进行比对,确定所述多个有效数据中包含的字节长度相同且位置相同的第一固定数据和第二固定数据,其中,第一固定数据关联第一目标数据包,第二固定数据关联第二目标数据包;

确定所述第一固定数据和所述第二固定数据的字节长度为所述目标游戏应用关联的指定字节长度,以及所述第一固定数据和所述第二固定数据中第一字节数据相对于所述有效数据中第一字节数据的偏移量为指定偏移量。

2.根据权利要求1所述的方法,其特征在于,所述确定所述第一游戏数据包是否为第一目标数据包,包括:

获取所述第一游戏数据包中的第一有效数据;

获取所述第一有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的第一数据;

在检测到所述第一数据和所述第一固定数据匹配时,确定所述第一游戏数据包为所述第一目标数据包。

3.根据权利要求1所述的方法,其特征在于,所述确定所述第二游戏数据包是否为第二目标数据包,包括:

获取所述第二游戏数据包中的第二有效数据;

获取所述第二有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的第二数据;

在检测到所述第二数据和所述第二固定数据匹配时,确定所述第二游戏数据包为所述第二目标数据包。

4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述方法还包括:将所述第一时间值置零。

5.根据权利要求4所述的方法,其特征在于,所述将所述第一时间值置零之后,所述方法还包括:

在检测到所述目标游戏应用向所述服务器发送第三游戏数据包,且所述第三游戏数据包为用于检测所述目标游戏应用网络延迟的UDP数据包时,确定所述第一时间值是否为零;

在检测到所述第一时间值不为零时,确定发生数据丢包,所述数据丢包用于指示所述目标游戏应用未接收到所述服务器发送的第二游戏数据包。

6.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述方法还包括:多次计算所述目标游戏应用的网络延迟,并获取多个网络延迟的计算结果;

根据所述多个计算结果确定所述目标游戏应用的网络质量;

在检测到所述目标游戏应用的网络质量不满足预设条件时,输出提示消息。

7.根据权利要求4所述的方法,其特征在于,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述方法还包括:多次计算所述目标游戏应用的网络延迟,并获取多个网络延迟的计算结果;

根据所述多个计算结果确定所述目标游戏应用的网络质量;

在检测到所述目标游戏应用的网络质量不满足预设条件时,输出提示消息。

8.一种网络检测装置,其特征在于,应用于电子设备,所述网络检测装置包括处理单元和通信单元,其中,

所述处理单元,用于在检测到目标游戏应用通过所述通信单元向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;以及用于在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;以及用于在检测到所述目标游戏应用通过所述通信单元接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包;以及用于在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值;以及用于根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果;

其中,所述第一目标数据包和所述第二目标数据包为用于检测所述目标游戏应用网络延迟的用户数据报协议UDP数据包;所述装置 还包括:抓取多个用于检测所述目标游戏应用网络延迟的UDP数据包,其中,所述UDP数据包包括第一目标数据包和第二目标数据包;

获取所述多个UDP数据包的有效数据,所述有效数据为UDP数据包中除去UDP报文头部分的数据;

将所述多个UDP数据包的有效数据进行比对,确定所述多个有效数据中包含的字节长度相同且位置相同的第一固定数据和第二固定数据,其中,第一固定数据关联第一目标数据包,第二固定数据关联第二目标数据包;

确定所述第一固定数据和所述第二固定数据的字节长度为所述目标游戏应用关联的指定字节长度,以及所述第一固定数据和所述第二固定数据中第一字节数据相对于所述有效数据中第一字节数据的偏移量为指定偏移量。

9.一种电子设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。

10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。

说明书 :

网络检测方法及相关装置

技术领域

[0001] 本申请涉及电子技术领域,尤其涉及一种网络检测方法及相关装置。

背景技术

[0002] 用户在使用电子设备进行网络游戏时,若网络状态不稳定,发生数据丢包或延迟波动等情况时,会导致游戏操作卡顿,严重影响用户的游戏体验。厂商在针对游戏应用做网
络优化时,首先要识别出当前的网络状态,才能进一步采取网络优化措施,因此,准确地检
测到游戏应用的网络延迟并识别出当前的网络状态,在对游戏进行网络优化的过程中极为
重要。

发明内容

[0003] 本申请实施例提供一种网络检测方法及相关装置,以期在目标游戏应用运行过程中准确计算出当前的网络延迟。
[0004] 第一方面,本申请实施例提供一种网络检测方法,应用于电子设备,所述方法包括:
[0005] 在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;
[0006] 在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;
[0007] 在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在
接收到所述第一目标数据包后向所述目标游戏应用发送的数据包;
[0008] 在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值;
[0009] 根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0010] 第二方面,本申请实施例提供一种网络检测装置,应用于电子设备,所述网络检测装置包括处理单元和通信单元,其中,
[0011] 所述处理单元,用于在检测到目标游戏应用通过所述通信单元向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;以及用于在确定所述第
一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;以
及用于在检测到所述目标游戏应用通过所述通信单元接收来自所述服务器发送的第二游
戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包
为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包;以及用
于在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包
的第二时间值;以及用于根据所述第一时间值和所述第二时间值计算所述目标游戏应用的
网络延迟,并保存所述网络延迟的计算结果。
[0012] 第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处
理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
[0013] 第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如
本申请实施例第一方面任一方法中所描述的部分或全部步骤。
[0014] 第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算
机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品
可以为一个软件安装包。
[0015] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。

附图说明

[0016] 为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
[0017] 图1A是本申请实施例提供的一种网络检测方法的流程示意图;
[0018] 图1B是本申请实施例提供的一种UDP数据包的分析示例图;
[0019] 图1C是本申请实施例提供的另一种UDP数据包的分析示例图;
[0020] 图2是本申请实施例提供的另一种网络检测方法的流程示意图;
[0021] 图3是本申请实施例提供的另一种网络检测方法的流程示意图;
[0022] 图4是本申请实施例提供的一种电子设备的结构示意图;
[0023] 图5是本申请实施例提供的一种网络检测装置的功能单元组成框图。
[0024] 具体实现方式
[0025] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范
围。
[0026] 以下分别进行详细说明。
[0027] 本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它
们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系
统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单
元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0029] 本申请实施例所涉及到的电子设备可以是具备网络检测能力的电子设备,该电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接
到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动
台(Mobile Station,MS),终端设备(terminal device)等等。
[0030] 下面对本申请实施例进行详细介绍。
[0031] 请参阅图1A,图1A是本申请实施例提供了一种网络检测方法的流程示意图,应用于电子设备。本网络检测方法包括:
[0032] S101,所述电子设备在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包。
[0033] 其中,现有技术中,获取游戏应用的网络延迟通常是游戏应用通过特定接口获取游戏厂商汇报的游戏网络延迟情况,即依赖于从外界获取相应数据,或者,游戏应用通过判
断发送或接收到的游戏数据包的特征,如数据包大小、发送接收频率等来判断网络延迟,而
本申请提供了一种依靠游戏应用自身的数据包参数,来准确高效地检测网络延迟的方法。
[0034] 其中,目标游戏应用在通过网络进行数据包传输的过程中,会周期性的发送用户数据报协议(User Datagram Protocol,UDP)数据包报文给服务器,服务器在接收到UDP报
文后会回复一个UDP报文给目标游戏应用,本申请实施例中,第一目标数据包和第二目标数
据包即为用于检测目标游戏应用网络延迟的UDP数据包,同时,由于目标游戏应用向服务器
发送的数据包中不仅包含了用于检测目标游戏应用网络延迟的UDP数据包,还有其他用途
和类型的数据包,因此,在检测到目标游戏应用向服务器发送第一游戏数据包时,需要确定
第一数据包是否为用于检测网络延迟的UDP数据包。
[0035] S102,所述电子设备在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值。
[0036] S103,所述电子设备在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据
包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包。
[0037] 其中,服务器只有在接收到由目标游戏应用发送的第一目标数据包时,才会向目标游戏应用发送用于检测网络延迟的第二目标数据包,因此,在检测到目标游戏应用接收
到服务器发送的第二游戏数据包时,需要确定第二游戏数据包是否为用于检测网络延迟的
第二目标数据包。
[0038] S104,所述电子设备在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值。
[0039] S105,所述电子设备根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0040] 其中,通过在检测到目标游戏应用发送第一目标数据包时记录下第一时间值T1,且在检测到目标游戏应用接收到第二目标数据包时记录下第二时间值T2,再计算第一时间
值和第二时间值差值的绝对值|T2-T1|,则可得到目标游戏应用的网络延迟,第一时间值可
以为目标游戏应用发送第一目标数据包的时刻,第二时间值可以为目标游戏应用接收到第
二目标数据包的时刻。
[0041] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。
[0042] 在一个可能的示例中,所述第一目标数据包和所述第二目标数据包为用于检测所述目标游戏应用网络延迟的用户数据报协议UDP数据包,所述方法还包括:抓取多个用于检
测所述目标游戏应用网络延迟的UDP数据包,其中,所述UDP数据包包括第一目标数据包和
第二目标数据包;获取所述多个UDP数据包的有效数据,所述有效数据为UDP数据包中除去
UDP报文头部分的数据;将所述多个UDP数据包的有效数据进行比对,确定所述多个有效数
据中包含的字节长度相同且位置相同的第一固定数据和第二固定数据,其中,第一固定数
据关联第一目标数据包,第二固定数据关联第二目标数据包;确定所述第一固定数据和所
述第二固定数据的字节长度为所述目标游戏应用关联的指定字节长度,以及所述第一固定
数据和所述第二固定数据中第一字节数据相对于所述有效数据中第一字节数据的偏移量
为指定偏移量。
[0043] 其中,UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性差,但正是因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要
求不要的应用程序或者可以保障可靠性的应用程序,游戏应用可以通过UDP数据包来检测
网络延迟。每个UDP报文分为UDP报头和UDP数据区两部分,报文由四个8字节字段组成,分别
说明该报文的源端口、目的端口、报文长度以及校验值,UDP数据区则存储了UDP数据包的有
效数据。
[0044] 其中,用于检测游戏应用网络延迟的UDP数据包的有效数据具有相同的特征,例如,如图1B和图1C所示,对目标游戏应用发送的UDP数据包进行分析,发现从UDP数据包有效
数据开始的位置偏移4字节开始,有8个固定字节为0000 00 01 00 01 00 03,而服务器回
复的UDP数据包中,从UDP数据包的有效数据开始的位置偏移4个字节开始,有8个固定字节
为00 00 03e9 00 04 00 03,由于不同的游戏应用的UDP数据包在有效数据中的不同偏移
量位置有不同字节长度的固定直接,因此,在实施本申请提供的网络延迟检测方法之前,还
需要抓取大量的用于检测目标游戏应用网络延迟的UDP数据包,并对其进行分析以得到目
标游戏应用对应的指定偏移量以及指定字节长度。
[0045] 其中,在抓取到大量用于检测目标游戏应用网络延迟的UDP数据包后,进一步获取UDP数据包中的有效数据,并将多个UDP数据包的有效数据进行对比,从而确定有效数据中
包含相同字节长度,且位置相同的数据为固定数据,确定固定数据的字节长度为目标游戏
应用关联的指定字节长度,以及固定数据中第一字节数据相对一有效数据第一字节长度数
据的偏移量为指定偏移量。
[0046] 可见,本示例中,通过对大量UDP数据包进行分析,可确定第一目标数据包的第一有效数据中的第一固定数据和第二目标数据包的第二有效数据中的第二固定数据,从而,
根据第一固定数据和第二固定数据可确定目标游戏应用关联的指定字节长度以及指定偏
移量,有利于在目标游戏发送和接收数据包的过程中,确定出第一目标数据包和第二目标
数据包。
[0047] 在一个可能的示例中,所述确定所述第一游戏数据包是否为第一目标数据包,包括:获取所述第一游戏数据包中的第一有效数据;获取所述第一有效数据中从所述指定偏
移量位置起,字节长度为所述指定字节长度的第一数据;在检测到所述第一数据和所述第
一固定数据匹配时,确定所述第一游戏数据包为所述第一目标数据包。
[0048] 其中,在目标游戏应用发送第一游戏数据包时,先获取第一游戏数据包的第一有效数据,然后再获取从指定偏移量位置起,字节长度为指定字节长度的第一数据,进而检测
第一数据是否和第一固定数据匹配,若匹配则可确定第一游戏数据包为第一目标数据包。
[0049] 可见,本示例中,根据第一游戏数据包的第一有效数据,检测在指定偏移量位置的指定字节长度的第一数据是否和第一固定数据匹配,可确定第一游戏数据包是否为第一目
标数据包,从而可确定目标游戏应用发送第一目标数据包的第一时间值。
[0050] 在一个可能的示例中,所述确定所述第二游戏数据包是否为第二目标数据包,包括:获取所述第二游戏数据包中的第二有效数据;获取所述第二有效数据中从所述指定偏
移量位置起,字节长度为所述指定字节长度的第二数据;在检测到所述第二数据和所述第
二固定数据匹配时,确定所述第二游戏数据包为所述第二目标数据包。
[0051] 其中,在目标游戏应用接收到第二游戏数据包时,先获取第二游戏数据包的第二有效数据,然后再获取从指定偏移量位置起,字节长度为指定字节长度的第二数据,进而检
测第二数据是否和第二固定数据匹配,若匹配则可确定第二游戏数据包为第二目标数据
包。
[0052] 可见,本示例中,根据第二游戏数据包的第二有效数据,检测在指定偏移量位置的指定字节长度的第二数据是否和第二固定数据匹配,可确定第二游戏数据包是否为第二目
标数据包,从而可确定目标游戏应用发送第二目标数据包的第二时间值。
[0053] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述方法还包括:将所述第一时间值置零。
[0054] 可见,本示例中,根据第一时间值和第二时间值的差值,可确定当前目标游戏应用的网络延迟,在计算出目标游戏应用的网络延迟之后,可将第一时间值置零,以便于下一次
计算网络延迟。
[0055] 在一个可能的示例中,所述将所述第一时间值置之后,所述方法还包括:在检测到所述目标游戏应用向所述服务器发送第三游戏数据包,且所述第三游戏数据包为用于检测
所述目标游戏应用网络延迟的UDP数据包时,确定所述第一时间值是否为零;在检测到所述
第一时间值不为零时,确定发生数据丢包,所述数据丢包用于指示所述目标游戏应用未接
收到所述服务器发送的第二游戏数据包。
[0056] 其中,若检测到目标游戏应用向服务器发送第三游戏数据包,且第三游戏数据包为用于检测目标游戏应用网络延迟的UDP数据包时,先确定第一时间值是否为零,若检测到
第一时间值不为零,表明可能目标游戏应用发送了第一目标数据包后,未接收到由服务器
发送的第二目标数据包,即发生了数据丢包。其中,在发生丢包的情况下,可以按照预设时
间来确定网络延迟,例如,若发生数据丢包则认为网络延迟为500毫秒。
[0057] 可见,本示例中,由于在根据第一时间值和第二时间值计算到了目标游戏应用的网络延迟之后,会将第一时间值置零,因此在检测到目标游戏应用再次向服务器发送用于
检测网络延迟的UDP数据包时,可以通过检测第一时间值是否为零才判断是否发生数据丢
包。
[0058] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述方法还包括:多次计算所述目标游戏应用的网络延迟,并获
取多个网络延迟的计算结果;根据所述多个计算结果确定所述目标游戏应用的网络质量;
在检测到所述目标游戏应用的网络质量不满足预设条件时,输出提示消息。
[0059] 其中,由于目标游戏应用会周期性的向服务器发送用于检测网络延迟的UDP数据包,因此可以连续多次计算目标游戏应用的网络延迟并获取多次计算的计算结果,根据计
算结果确定目标游戏应用的网络质量,从而在当前的网络质量不满足预设条件是,输出提
示消息用于提示用户。例如,目标游戏应用为王者荣耀,当网络延迟大于150毫秒时,则认为
网络延迟较大,若在连续100次的网络延迟计算中,发现有80次的计算结果中网络延迟都大
于150毫秒,则可判定当前的网路状态不太好,可输出用于提示用户是否还继续进行游戏的
提示消息。
[0060] 可见,本示例中,通过多次计算目标游戏应用的网络延迟,来确定当前的网络质量,从而可以在网络质量不好的时候输出用于提示用于用户当前网络状态的提示消息,从
而用户可以选择是否继续游戏。
[0061] 与所述图1A所示的实施例一致的,请参阅图2,图2是本申请实施例提供的一种网络检测方法的流程示意图,应用于电子设备。如图所示,本网络检测方法包括:
[0062] S201,所述电子设备在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包。
[0063] S202,所述电子设备在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值。
[0064] S203,所述电子设备在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据
包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包。
[0065] S204,所述电子设备在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值。
[0066] S205,所述电子设备根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0067] S206,所述电子设备将所述第一时间值置零。
[0068] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。
[0069] 此外,根据第一时间值和第二时间值的差值,可确定当前目标游戏应用的网络延迟,在计算出目标游戏应用的网络延迟之后,可将第一时间值置零,以便于下一次计算网络
延迟。
[0070] 与所述图1A、图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种网络检测方法的流程示意图,应用于电子设备,所述电子设备启用多个无线通信链路。如
图所示,本网络检测方法包括:
[0071] S301,所述电子设备在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包。
[0072] S302,所述电子设备在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值。
[0073] S303,所述电子设备在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据
包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据包。
[0074] S304,所述电子设备在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值。
[0075] S305,所述电子设备根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0076] S306,所述电子设备将所述第一时间值置零。
[0077] S307,所述电子设备在检测到所述目标游戏应用向所述服务器发送第三游戏数据包,且所述第三游戏数据包为用于检测所述目标游戏应用网络延迟的UDP数据包时,确定所
述第一时间值是否为零。
[0078] S308,所述电子设备在检测到所述第一时间值不为零时,确定发生数据丢包,所述数据丢包用于指示所述目标游戏应用未接收到所述服务器发送的第二游戏数据包。
[0079] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。
[0080] 此外,根据第一时间值和第二时间值的差值,可确定当前目标游戏应用的网络延迟,在计算出目标游戏应用的网络延迟之后,可将第一时间值置零,以便于下一次计算网络
延迟。
[0081] 此外,由于在根据第一时间值和第二时间值计算到了目标游戏应用的网络延迟之后,会将第一时间值置零,因此在检测到目标游戏应用再次向服务器发送用于检测网络延
迟的UDP数据包时,可以通过检测第一时间值是否为零才判断是否发生数据丢包。
[0082] 与所述图1A、图2、图3所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种电子设备400的结构示意图,该电子设备400运行有一个或多个应用程序和操作系
统,如图所示,该电子设备400包括处理器410、存储器420、通信接口430以及一个或多个程
序421,其中,所述一个或多个程序421被存储在所述存储器420中,并且被配置由所述处理
器410执行,所述一个或多个程序421包括用于执行以下步骤的指令;
[0083] 在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;
[0084] 在确定所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值;
[0085] 在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在
接收到所述第一目标数据包后向所述目标游戏应用发送的数据包;
[0086] 在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值;
[0087] 根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0088] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。
[0089] 在一个可能的示例中,所述第一目标数据包和所述第二目标数据包为用于检测所述目标游戏应用网络延迟的用户数据报协议UDP数据包;所述程序中的指令具体用于执行
以下操作:抓取多个用于检测所述目标游戏应用网络延迟的UDP数据包,其中,所述UDP数据
包包括第一目标数据包和第二目标数据包;获取所述多个UDP数据包的有效数据,所述有效
数据为UDP数据包中除去UDP报文头部分的数据;将所述多个UDP数据包的有效数据进行比
对,确定所述多个有效数据中包含的字节长度相同且位置相同的第一固定数据和第二固定
数据,其中,第一固定数据关联第一目标数据包,第二固定数据关联第二目标数据包;确定
所述第一固定数据和所述第二固定数据的字节长度为所述目标游戏应用关联的指定字节
长度,以及所述第一固定数据和所述第二固定数据中第一字节数据相对于所述有效数据中
第一字节数据的偏移量为指定偏移量。
[0090] 在一个可能的示例中,在所述确定所述第一游戏数据包是否为第一目标数据包方面,所述程序中的指令具体用于执行以下操作:获取所述第一游戏数据包中的第一有效数
据;获取所述第一有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的
第一数据;在检测到所述第一数据和所述第一固定数据匹配时,确定所述第一游戏数据包
为所述第一目标数据包。
[0091] 在一个可能的示例中,在所述确定所述第二游戏数据包是否为第二目标数据包方面,所述程序中的指令具体用于执行以下操作:获取所述第二游戏数据包中的第二有效数
据;获取所述第二有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的
第二数据;在检测到所述第二数据和所述第二固定数据匹配时,确定所述第二游戏数据包
为所述第二目标数据包。
[0092] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述程序中的指令具体用于执行以下操作:将所述第一时间值
置零。
[0093] 在一个可能的示例中,所述将所述第一时间值置零之后,所述程序中的指令具体用于执行以下操作:在检测到所述目标游戏应用向所述服务器发送第三游戏数据包,且所
述第三游戏数据包为用于检测所述目标游戏应用网络延迟的UDP数据包时,确定所述第一
时间值是否为零;在检测到所述第一时间值不为零时,确定发生数据丢包,所述数据丢包用
于指示所述目标游戏应用未接收到所述服务器发送的第二游戏数据包。
[0094] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述程序中的指令具体用于执行以下操作:多次计算所述目标
游戏应用的网络延迟,并获取多个网络延迟的计算结果;根据所述多个计算结果确定所述
目标游戏应用的网络质量;在检测到所述目标游戏应用的网络质量不满足预设条件时,输
出提示消息。
[0095] 上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软
件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的
单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究
竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束
条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种
实现不应认为超出本申请的范围。
[0096] 本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元
中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需
要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实
现时可以有另外的划分方式。
[0097] 图5是本申请实施例中所涉及的网络检测装置500的功能单元组成框图。该网络检测装置500应用于电子设备,包括处理单元501和通信单元502,其中,
[0098] 所述处理单元501,用于在检测到目标游戏应用通过所述通信单元502向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包;以及用于在确定
所述第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间
值;以及用于在检测到所述目标游戏应用通过所述通信单元502接收来自所述服务器发送
的第二游戏数据包时,确定所述第二游戏数据包是否为第二目标数据包,其中,所述第二目
标数据包为所述服务器在接收到所述第一目标数据包后向所述目标游戏应用发送的数据
包;以及用于在确定所述第二游戏数据包为所述第二目标数据包时,记录接收到所述第二
游戏数据包的第二时间值;以及用于根据所述第一时间值和所述第二时间值计算所述目标
游戏应用的网络延迟,并保存所述网络延迟的计算结果。
[0099] 其中,所述网络检测装置500还可以包括存储单元503,用于存储电子设备的程序代码和数据。所述处理单元501可以是处理器,所述通信单元502可以是触控显示屏或者收
发器,存储单元503可以是存储器。
[0100] 可以看出,在本申请实施例中,电子设备首先在检测到目标游戏应用向服务器发送第一游戏数据包时,确定所述第一游戏数据包是否为第一目标数据包,其次,在确定所述
第一游戏数据包为所述第一目标数据包时,记录发送所述第一游戏数据包的第一时间值,
接着,在检测到所述目标游戏应用接收来自所述服务器发送的第二游戏数据包时,确定所
述第二游戏数据包是否为第二目标数据包,其中,所述第二目标数据包为所述服务器在接
收到所述第一目标数据包后向所述目标游戏应用发送的数据包,然后,在确定所述第二游
戏数据包为所述第二目标数据包时,记录接收到所述第二游戏数据包的第二时间值,最后,
根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟,并保存所述网
络延迟的计算结果。由于电子设备可以记录目标游戏应用发送第一目标数据包的第一时间
值以及目标游戏应用接收到第二目标数据包的第二时间值,且第一目标数据包和第二目标
数据包都是用于检测目标游戏应用网络延迟的数据包,因此,通过计算第一时间值和第二
时间值可计算出目标游戏应用的网络延迟,从而有利于对目标游戏应用进行网络优化。
[0101] 在一个可能的示例中,所述第一目标数据包和所述第二目标数据包为用于检测所述目标游戏应用网络延迟的用户数据报协议UDP数据包;所述处理单元501具体用于:抓取
多个用于检测所述目标游戏应用网络延迟的UDP数据包,其中,所述UDP数据包包括第一目
标数据包和第二目标数据包;以及用于获取所述多个UDP数据包的有效数据,所述有效数据
为UDP数据包中除去UDP报文头部分的数据;以及用于将所述多个UDP数据包的有效数据进
行比对,确定所述多个有效数据中包含的字节长度相同且位置相同的第一固定数据和第二
固定数据,其中,第一固定数据关联第一目标数据包,第二固定数据关联第二目标数据包;
以及用于确定所述第一固定数据和所述第二固定数据的字节长度为所述目标游戏应用关
联的指定字节长度,以及所述第一固定数据和所述第二固定数据中第一字节数据相对于所
述有效数据中第一字节数据的偏移量为指定偏移量。
[0102] 在一个可能的示例中,在所述确定所述第一游戏数据包是否为第一目标数据包方面,所述处理单元501具体用于:获取所述第一游戏数据包中的第一有效数据;以及用于获
取所述第一有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的第一数
据;以及用于在检测到所述第一数据和所述第一固定数据匹配时,确定所述第一游戏数据
包为所述第一目标数据包。
[0103] 在一个可能的示例中,在所述确定所述第二游戏数据包是否为第二目标数据包面,所述处理单元501具体用于:获取所述第二游戏数据包中的第二有效数据;以及用于获
取所述第二有效数据中从所述指定偏移量位置起,字节长度为所述指定字节长度的第二数
据;以及用于在检测到所述第二数据和所述第二固定数据匹配时,确定所述第二游戏数据
包为所述第二目标数据包。
[0104] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述处理单元501具体用于:将所述第一时间值置零。
[0105] 在一个可能的示例中,所述将所述第一时间值置零之后,所述处理单元501具体用于:在检测到所述目标游戏应用向所述服务器发送第三游戏数据包,且所述第三游戏数据
包为用于检测所述目标游戏应用网络延迟的UDP数据包时,确定所述第一时间值是否为零;
以及用于在检测到所述第一时间值不为零时,确定发生数据丢包,所述数据丢包用于指示
所述目标游戏应用未接收到所述服务器发送的第二游戏数据包。
[0106] 在一个可能的示例中,所述根据所述第一时间值和所述第二时间值计算所述目标游戏应用的网络延迟之后,所述处理单元501具体用于:多次计算所述目标游戏应用的网络
延迟,并获取多个网络延迟的计算结果;以及用于根据所述多个计算结果确定所述目标游
戏应用的网络质量;以及用于在检测到所述目标游戏应用的网络质量不满足预设条件时,
输出提示消息。
[0107] 本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一
方法的部分或全部步骤,上述计算机包括电子设备。
[0108] 本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方
法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装
包,上述计算机包括电子设备。
[0109] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为
依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请
所必须的。
[0110] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0111] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种
逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间
的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,
可以是电性或其它的形式。
[0112] 上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0113] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0114] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或
者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体
现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备
(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分
步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器
(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0115] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器
可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:
Random Access Memory,简称:RAM)、磁盘或光盘等。
[0116] 以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;
同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会
有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。