CN111265852A - 一种基于udp的低延时信息传输方法及装置 - Google Patents
一种基于udp的低延时信息传输方法及装置 Download PDFInfo
- Publication number
- CN111265852A CN111265852A CN202010017697.9A CN202010017697A CN111265852A CN 111265852 A CN111265852 A CN 111265852A CN 202010017697 A CN202010017697 A CN 202010017697A CN 111265852 A CN111265852 A CN 111265852A
- Authority
- CN
- China
- Prior art keywords
- synchronized
- udp
- information
- data packet
- local area
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种基于UDP的低延时信息传输方法及装置。本申请实施例提供的技术方案通过在应用程序中集成基于UDP交互协议的软件开发工具包,在需要运行应用程序以进行游戏互动时,将多个安装有该应用程序的客户端加入同一局域网中,并将在应用程序运行过程中需要与其他客户端进行交互的待同步信息进行打包,并基于UDP交互协议发送到局域网中,以供其他客户端接收并处理,同时,基于UDP交互协议接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理,从而进行不同客户端之间的游戏互动,不依赖于服务器,数据交互的速度更快,提高用户体验。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于UDP的低延时信息传输方法及装置。
背景技术
目前,市面上的游戏互动方案一般是经过服务器的C/S结构来进行,客户端在运行游戏程序时产生的游戏互动信息与其他客户端上运行的游戏程序进行互动。
游戏互动信息的互动方案一般是基于HTTP和TCP两种交互协议进行,但是上述交互方案过度依赖于服务器的稳定性,由于中间要经过服务器的转发,还有TCP交互协议的消息包必达的特点,增加了信息传输过程中的延时,导致游戏互动的时效性较差,影响用户体验。
发明内容
本申请实施例提供一种基于UDP的低延时信息传输方法及装置,以降低游戏互动信息交互的延时,优化用户体验。
在第一方面,本申请实施例提供了一种基于UDP的低延时信息传输方法,包括:
确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;
通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;
通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;
通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
进一步的,所述软件开发工具包还基于TCP交互协议生成;
所述通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包,包括:
确定所述应用程序生成的待同步信息的类型,所述待同步信息的类型包括时效性同步信息和非时效性同步信息;
若所述待同步信息的类型为时效性同步信息,则基于UDP交互协议,通过所述软件开发工具包将所述时效性同步信息打包,生成时效性待同步数据包;
若所述待同步信息的类型为非时效性同步信息,则基于TCP交互协议,通过所述软件开发工具包将所述非时效性同步信息打包,生成非时效性待同步数据包。
进一步的,所述通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收,包括:
若所述待同步信息的类型为时效性同步信息,则基于UDP交互协议,通过所述软件开发工具包向局域网上传所述时效性待同步数据包,以供局域网中的其他客户端接收;
若所述待同步信息的类型为非时效性同步信息,则基于TCP交互协议,通过所述软件开发工具包向局域网上传所述非时效性待同步数据包,以供局域网中的其他客户端接收。
进一步的,所述通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,包括:
确定局域网中由其他客户端上传的待同步数据包的类型;
若待同步数据包类型为时效性待同步数据包,则基于UDP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的时效性待同步数据包;
若待同步数据包类型为非时效性待同步数据包,则基于TCP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的非时效性待同步数据包。
进一步的,所述方法还包括:
基于iperf确定待同步数据包的丢包率;
基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,所述实时交互协议包括UDP交互协议和TCP交互协议。
进一步的,所述基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,包括:
响应于所述丢包率在预设阈值范围以内,确定所述待同步数据包的实时交互协议为UDP交互协议;
响应于所述丢包率在预设阈值范围以外,确定所述待同步数据包的实时交互协议为TCP交互协议。
进一步的,所述响应于所述丢包率在预设阈值范围以外,确定所述待同步数据包的实时交互协议为TCP交互协议之后,还包括:
基于UDP交互协议向局域网发送丢包率测试包,并基于iperf确定丢包率测试包的测试丢包率;
基于所述测试丢包率确定收发所述待同步数据包所应用的实时交互协议。
在第二方面,本申请实施例提供了一种基于UDP的低延时信息传输装置,包括联网模块、数据生成模块、数据接收模块和数据处理模块,其中:
联网模块,用于确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;
数据生成模块,用于通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;
数据接收模块,用于通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;
数据处理模块,用于通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
在第三方面,本申请实施例提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于UDP的低延时信息传输方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于UDP的低延时信息传输方法。
本申请实施例通过在应用程序中集成基于UDP交互协议的软件开发工具包,在需要运行应用程序以进行游戏互动时,将多个安装有该应用程序的客户端加入同一局域网中,并将在应用程序运行过程中需要与其他客户端进行交互的待同步信息进行打包,并基于UDP交互协议发送到局域网中,以供其他客户端接收并处理,同时,基于UDP交互协议接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理,从而进行不同客户端之间的游戏互动,不依赖于服务器,数据交互的速度更快,提高用户体验。
附图说明
图1是本申请实施例提供的一种基于UDP的低延时信息传输方法的流程图;
图2是本申请实施例提供的软件开发工具包的主要交互协议结构示意图;
图3是本申请实施例提供的应用程序的架构示意图;
图4是本申请实施例提供的另一种基于UDP的低延时信息传输方法的流程图;
图5是本申请实施例提供的另一种基于UDP的低延时信息传输方法的流程图;
图6是本申请实施例提供的一种基于UDP的低延时信息传输装置的示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种基于UDP的低延时信息传输方法的流程图,本申请实施例提供的基于UDP的低延时信息传输方法可以由基于UDP的低延时信息传输装置来执行,该基于UDP的低延时信息传输装置可通过硬件和/或软件的方式实现,并集成在计算机设备中。
下述以基于UDP的低延时信息传输装置执行基于UDP的低延时信息传输方法为例进行描述。参考图1,该基于UDP的低延时信息传输方法包括:
S101:确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包。
图2为本申请实施例提供的软件开发工具包的主要交互协议结构示意图。参考图2,示例性的,先建立软件开发工具包(SDK),并在软件开发工具包中封装基于UDP的通用的交互协议。其中,软件开发工具包(SDK)为软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,UDP交互协议(User Datagram Protocol,用户数据报协议)是一个非连接的协议,传输数据之前源端和终端不建立连接,为应用程序提供了一种无需建立连接就可以发送封装的IP数据报的方式。
图3为本申请实施例提供的应用程序的架构示意图。参考图3,示例性的,在将UDP交互协议封装到软件开发工具包后,在开发应用程序(例如局域网互动游戏程序)时将该软件开发工具包集成到应用程序中,并将该应用程序安装在客户端上(如安装在手机、平板、电脑等客户端上)。客户端在运行该应用程序时,软件开发工具包可抓取该应用程序生成的数据(例如待同步信息),并基于UDP交互协议将数据发送到所接入的网络上。
进一步的,在需要进行客户端之间的信息传输时,需要先确认客户端已接入局域网中,若确定客户端已接入局域网,则跳转至步骤S102,若客户端未接入局域网,则重复步骤S101,直至确定客户端已接入局域网。例如根据接入网络的IP地址判断接入的网络是否为局域网(局域网IP地址范围:A类:10.0.0.0-10.255.255.255、B类:172.16.0.0-172.31.255.255、C类:192.168.0.0-192.168.255.255),或者是调用网络类型查询指令进行确定接入的网络是否为局域网。可选的,若用户端未接入局域网,可在客户端上显示未接入局域网的提示信息,以提示用户将客户端接入合适的局域网中。
其中,客户端接入局域网的方式可以是通过WiFi、蓝牙、ZigBee、Rola、网线等有线和/或无线的方式进行,并在客户端内设置对应的通信模块。进一步的,局域网可通过路由器、计算机等进行搭建,本实施例做不限制。
S102:通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包。
示例性的,客户端上的应用程序在运行的过程中,根据其具体业务逻辑生成多种针对不同业务的信息,其中包括用于与其他客户端进行同步或互动的待同步信息。
进一步的,软件开发工具对应用程序运行过程中产生的信息进行监听,在应用程序生成待同步信息时,抓取这些待同步信息,并基于UDP交互协议对这些待同步信息进行打包,生成待同步数据包。
S103:通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收。
示例性的,软件开发工具将待同步信息打包完成并生成待同步数据包后,基于UDP交互协议,将待同步数据包上传到客户端所接入的局域网中。需要与该客户端进行互动的其他客户端可从局域网中抓取该待同步数据包进行分析处理。
S104:通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
示例性的,客户端中的软件开发工具对局域网进行实时监听,以监听是否有其他客户端向局域网上传待同步数据包。进一步的,在侦测到局域网有其他客户端上传的待同步数据包时,软件开发工具抓取这些待同步数据包,并对接收到的待同步数据包进行拆包分析,获取其中由其他客户端生成的待同步信息。
进一步的,在获取由其他客户端生成的待同步信息后,将这些待同步信息发送到应用程序的业务逻辑中进行分析处理,从而实现与其他客户端的信息同步互动。
例如,以客户端上安装的应用程序为基于局域网开发的游戏应用程序为例,该应用程序中集成有对应的业务逻辑和基于UDP交互协议的软件开发工具包(SDK)。在需要与其他客户端进行互动以进行游戏同步互动时,将安装有该应用程序的客户端加入同一局域网中,在应用程序运行并执行业务逻辑时,生成的待同步信息(例如游戏角色的动作信息、操作的摇杆信息等)被SDK抓取并打包生成待同步数据包,然后软件开发工具包基于UDP交互协议将待同步数据包上传到局域网中,供局域网中的其他客户端抓取并进行分析处理。同时,SDK基于UDP交互协议从局域网中抓取其他客户端上传的待同步数据包,进行拆包处理后得到由其他客户端产生的待同步信息,将这些待同步信息发送到对应的业务逻辑进行分析处理,从而实现与其他客户端的同步及互动。
上述,通过在应用程序中集成基于UDP交互协议的软件开发工具包,在需要运行应用程序以进行游戏互动时,将多个安装有该应用程序的客户端加入同一局域网中,并将在应用程序运行过程中需要与其他客户端进行交互的待同步信息进行打包,并基于UDP交互协议发送到局域网中,以供其他客户端接收并处理,同时,基于UDP交互协议接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理,从而进行不同客户端之间的游戏互动,不依赖于服务器,数据交互的速度更快,提高用户体验。
图4为本申请实施例提供的另一种基于UDP的低延时信息传输方法的流程图,该基于UDP的低延时信息传输方法是对上述基于UDP的低延时信息传输方法的具体化。参考图4,该基于UDP的低延时信息传输方法包括:
S201:确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议和TCP交互协议生成的软件开发工具包。
示例性的,先建立软件开发工具包(SDK),并在软件开发工具包中封装基于UDP和TCP的通用的交互协议。其中,软件开发工具包(SDK)为软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。UDP交互协议(User Datagram Protocol,用户数据报协议)是一个非连接的协议,传输数据之前源端和终端不建立连接,为应用程序提供了一种无需建立连接就可以发送封装的IP数据报的方式。TCP交互协议(TransmissionControl Protocol,传输控制协议)是面向连接的协议,在收发数据前和对方建立可靠的连接,可保证数据正确性及数据顺序。
进一步的,在将UDP交互协议和TCP交互协议封装到软件开发工具包后,在开发应用程序(例如局域网互动游戏程序)时将该软件开发工具包集成到应用程序中,并将该应用程序安装在客户端上(如安装在手机、平板、电脑等客户端上)。客户端在运行该应用程序时,软件开发工具包可抓取该应用程序生成的数据(例如待同步信息),并基于UDP交互协议或者是TCP交互协议将数据发送到所接入的网络上。
进一步的,在需要进行客户端之间的信息传输时,需要先确认客户端已接入局域网中,若确定客户端已接入局域网,则跳转至步骤S202,若客户端未接入局域网,则重复步骤S201,直至确定客户端已接入局域网。例如根据接入网络的IP地址判断接入的网络是否为局域网(局域网IP地址范围:A类:10.0.0.0-10.255.255.255、B类:172.16.0.0-172.31.255.255、C类:192.168.0.0-192.168.255.255),或者是调用网络类型查询指令进行确定接入的网络是否为局域网。可选的,若用户端未接入局域网,可在客户端上显示未接入局域网的提示信息,以提示用户将客户端接入合适的局域网中。
S202:判断所述应用程序生成的待同步信息的类型是否为时效性同步信息。若是,则跳转至步骤S203,否则,跳转至步骤S205。
其中,客户端上的应用程序在运行的过程中,根据其具体业务逻辑生成多种针对不同业务的信息,其中包括用于与其他客户端进行同步或互动的待同步信息。
进一步的,软件开发工具对应用程序运行过程中产生的信息进行监听,在应用程序生成待同步信息时,抓取这些待同步信息,并对这些待同步信息的类型进行判断。
具体的,本实施例所提供的待同步信息的类型包括时效性同步信息和非时效性同步信息。其中时效性同步信息应理解为时效性较强,需要在短时间内完成客户端之间的交互的待同步信息,例如游戏角色的动作信息、操作的摇杆信息等,而非时效性同步信息对时效性要求不高,而对信息的正确性要求较高的待同步信息,例如游戏角色信息等。
可选的,对待同步信息类型的判断可通过待同步信息所附带的标签进行,应用程序在生成待同步信息的同时,附带上对应的标签,其中待同步信息和对应的类型的对应关系可通过表格的方式进行记录,本实施例不作限定。
进一步的,在确定应用程序生成的待同步信息的类型为时效性同步信息时,跳转至步骤S203,在确定应用程序生成的待同步信息的类型为非时效性同步信息时,跳转至步骤S205。
S203:基于UDP交互协议,通过所述软件开发工具包将所述时效性同步信息打包,生成时效性待同步数据包。
具体的,若用程序生成的待同步信息的类型为时效性同步信息,则软件开发工具包基于UDP交互协议,将这些时效性同步信息进行打包,生成时效性待同步数据包。完成时效性同步信息的打包后,跳转至步骤S204,进行时效性待同步数据包的上传。
可选的,可在生成时效性待同步数据包时,在时效性待同步数据包中附带上指示所包含的待同步信息的类型为时效性同步信息的时效性标签。
S204:基于UDP交互协议,通过所述软件开发工具包向局域网上传所述时效性待同步数据包,以供局域网中的其他客户端接收。
具体的,在基于UDP交互协议生成时效性待同步数据包后,软件开发工具包根据时效性待同步数据包所附带的时效性标签,确定时效性待同步数据包内的内容为时效性同步信息,则基于UDP交互协议将时效性待同步数据包上传到对应客户端所接入的局域网中,其他客户端可从局域网中抓取该时效性待同步数据包进行分析处理。在完成时效性待同步数据包的上传后,跳转至步骤S207。
S205:基于TCP交互协议,通过所述软件开发工具包将所述非时效性同步信息打包,生成非时效性待同步数据包。
具体的,若用程序生成的待同步信息的类型为非时效性同步信息,则软件开发工具包基于TCP交互协议,将这些非时效性同步信息进行打包,生成非时效性待同步数据包。完成非时效性同步信息的打包后,跳转至步骤S206,进行非时效性待同步数据包的上传。
可选的,可在生成非时效性待同步数据包时,在非时效性待同步数据包中附带上指示所包含的待同步信息的类型为非时效性同步信息的非时效性标签。
S206:基于TCP交互协议,通过所述软件开发工具包向局域网上传所述非时效性待同步数据包,以供局域网中的其他客户端接收。
具体的,在基于TCP交互协议生成非时效性待同步数据包后,软件开发工具包根据非时效性待同步数据包所附带的非时效性标签,确定非时效性待同步数据包内的内容为非时效性同步信息,则基于TCP交互协议将非时效性待同步数据包上传到对应客户端所接入的局域网中,其他客户端可从局域网中抓取该非时效性待同步数据包进行分析处理。在完成非时效性待同步数据包的上传后,跳转至步骤S207。
S207:判断局域网中由其他客户端上传的待同步数据包的类型是否为时效性待同步数据包。若是,则跳转至步骤S208,否则,跳转至步骤S210。
具体的,通过软件开发工具包对局域网中由其他客户端上传的待同步数据包进行监听,在监听到有新的待同步数据包上传至局域网时,对这些待同步数据包的类型进行判断,并基于待同步数据包的类型选择对应的接收协议。
示例性的,可通过待同步数据包上携带的标签判断待同步数据包的类型,若待同步数据包携带时效性标签,则确定待同步数据包的类型为时效性待同步数据包,若待同步数据包携带非时效性标签,则确定待同步数据包的类型为非时效性待同步数据包。
进一步的,在确定待同步数据包的类型为时效性待同步数据包时,跳转至步骤S208对时效性待同步数据包进行接收;在确定待同步数据包的类型为非时效性待同步数据包时,跳转至步骤S209对非时效性待同步数据包进行接收。
在其他实施例中,步骤S207可以在步骤S201中确认客户端已接入互联网后执行,即步骤S207可以在步骤S202之前执行或者是与步骤S202同步执行。
S208:基于TCP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的非时效性待同步数据包,并对接收到的非时效性待同步数据包进行拆包,获取由其他客户端生成的非时效性同步信息,并发送至应用程序进行处理。
具体的,若确定待同步数据包类型为非时效性待同步数据包,则软件开发工具包基于TCP交互协议从局域网中接收由其他客户端上传的非时效性待同步数据包。
进一步的,软件开发工具包在接收到由其他客户端上传的非时效性待同步数据包后,基于TCP交互协议,对接收到的非时效性待同步数据包进行拆包,获取由其他客户端生成的非时效性同步信息,并将这些非时效性同步信息发送到本地客户端中的应用程序中,应用程序中的业务逻辑对这些非时效性同步信息进行分析处理,以进行与其他客户端的信息同步。
S209:基于UDP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的时效性待同步数据包,并对接收到的时效性待同步数据包进行拆包,获取由其他客户端生成的时效性同步信息,并发送至应用程序进行处理。
具体的,若确定待同步数据包类型为时效性待同步数据包,则软件开发工具包基于UDP交互协议从局域网中接收由其他客户端上传的时效性待同步数据包。
进一步的,软件开发工具包在接收到由其他客户端上传的时效性待同步数据包后,基于UDP交互协议,对接收到的时效性待同步数据包进行拆包,获取由其他客户端生成的时效性同步信息,并将这些时效性同步信息发送到本地客户端中的应用程序中,应用程序中的业务逻辑对这些时效性同步信息进行分析处理,以进行与其他客户端的信息同步。
S210:基于iperf确定待同步数据包的丢包率。
其中,iperf是一个网络性能测试工具,iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
具体的,调用iperf中的掉包率查询指令,对待同步数据包传输过程中的丢包率进行实时监测,并实时输出待同步数据包的丢包率。
S211:基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,所述实时交互协议包括UDP交互协议和TCP交互协议。
示例性的,在获取待同步数据包的丢包率后,根据丢包率和预设与值范围(可根据实际情况进行设定)进行比较,判断丢包率是否在预设阈值范围以内,以确定收发待同步数据包所应用的实时交互协议。
进一步的,若判断丢包率在预设阈值范围以内,则响应于丢包率在预设阈值范围以内,确定待同步数据包的实时交互协议为UDP交互协议,并在后续检测到应用程序生成待同步信息后,可根据待同步信息为时效性同步信息或非时效性同步信息确定所应用的实时交互协议为UDP交互协议或TCP交互协议,软件开发工具包基于UDP交互协议或TCP交互协议对待同步信息和待同步数据包进行收发和处理,或者是直接将实时交互协议确定为UDP交互协议,软件开发工具包基于UDP交互协议对待同步信息和待同步数据包进行收发和处理。
进一步的,若判断丢包率在预设阈值范围以外,响应于丢包率在预设阈值范围以外,确定待同步数据包的实时交互协议为TCP交互协议,并在后续检测到应用程序生成待同步信息后,将实时交互协议确定为TCP交互协议,软件开发工具包基于TCP交互协议对待同步信息和待同步数据包进行收发和处理。
进一步的,在确定实时交互协议为TCP交互协议后,基于UDP交互协议向局域网发送丢包率测试包,并基于iperf确定丢包率测试包的测试丢包率,并基于所述测试丢包率确定收发所述待同步数据包所应用的实时交互协议。
其中,丢包率测试包为预先设置并保存在用户端上的数据包,用于进行丢包率的测试。可选的,丢包率测试包可根据预设时间间隔或者是持续进行发送。基于iperf确定丢包率测试包的测试丢包率,并将测试丢包率与预设阈值范围进行比较,若测试丢包率仍在预设与值范围外,则维持应用TCP交互协议作为实时交互协议,直至测试丢包率在预设与值范围内,根据待同步信息为时效性同步信息或非时效性同步信息确定所应用的实时交互协议为UDP交互协议或TCP交互协议,或者是直接将实时交互协议确定为UDP交互协议。
上述,通过在应用程序中集成基于UDP交互协议的软件开发工具包,在需要运行应用程序以进行游戏互动时,将多个安装有该应用程序的客户端加入同一局域网中,并将在应用程序运行过程中需要与其他客户端进行交互的待同步信息进行打包,并基于UDP交互协议发送到局域网中,以供其他客户端接收并处理,同时,基于UDP交互协议接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理,从而进行不同客户端之间的游戏互动,不依赖于服务器,数据交互的速度更快,提高用户体验。同时,根据待同步信息的类型确定基于UDP交互协议或者是TCP交互协议来发送对应的待同步数据包,在保证信息交互的同时更大程度地保证了数据传输的正确性。并根据待同步数据包的丢包率确定收发所述待同步数据包所应用的实时交互协议,进一步保证了数据传输的正确性,提高用户体验。
图5为本申请实施例提供的另一种基于UDP的低延时信息传输方法的流程图,该基于UDP的低延时信息传输方法是对上述基于UDP的低延时信息传输方法的具体化。参考图5,该基于UDP的低延时信息传输方法包括:
S301:确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议和TCP交互协议生成的软件开发工具包。
S302:通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包。
S303:通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收。
S304:通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
S305:基于iperf确定待同步数据包的丢包率。
其中,iperf是一个网络性能测试工具,iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
具体的,调用iperf中的掉包率查询指令,对待同步数据包传输过程中的丢包率进行实时监测,并实时输出待同步数据包的丢包率。
S306:基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,所述实时交互协议包括UDP交互协议和TCP交互协议。
示例性的,在获取待同步数据包的丢包率后,根据丢包率和预设与值范围(可根据实际情况进行设定)进行比较,判断丢包率是否在预设阈值范围以内,以确定收发待同步数据包所应用的实时交互协议。
进一步的,若判断丢包率在预设阈值范围以内,则响应于丢包率在预设阈值范围以内,确定待同步数据包的实时交互协议为UDP交互协议,并在后续检测到应用程序生成待同步信息后,可根据待同步信息为时效性同步信息或非时效性同步信息确定所应用的实时交互协议为UDP交互协议或TCP交互协议,软件开发工具包基于UDP交互协议或TCP交互协议对待同步信息和待同步数据包进行收发和处理,或者是直接将实时交互协议确定为UDP交互协议,软件开发工具包基于UDP交互协议对待同步信息和待同步数据包进行收发和处理。
进一步的,若判断丢包率在预设阈值范围以外,响应于丢包率在预设阈值范围以外,确定待同步数据包的实时交互协议为TCP交互协议,并在后续检测到应用程序生成待同步信息后,将实时交互协议确定为TCP交互协议,软件开发工具包基于TCP交互协议对待同步信息和待同步数据包进行收发和处理。
进一步的,在确定实时交互协议为TCP交互协议后,基于UDP交互协议向局域网发送丢包率测试包,并基于iperf确定丢包率测试包的测试丢包率,并基于所述测试丢包率确定收发所述待同步数据包所应用的实时交互协议。
其中,丢包率测试包为预先设置并保存在用户端上的数据包,用于进行丢包率的测试。可选的,丢包率测试包可根据预设时间间隔或者是持续进行发送。基于iperf确定丢包率测试包的测试丢包率,并将测试丢包率与预设阈值范围进行比较,若测试丢包率仍在预设与值范围外,则维持应用TCP交互协议作为实时交互协议,直至测试丢包率在预设与值范围内,根据待同步信息为时效性同步信息或非时效性同步信息确定所应用的实时交互协议为UDP交互协议或TCP交互协议,或者是直接将实时交互协议确定为UDP交互协议。
图6为本申请实施例提供的一种基于UDP的低延时信息传输装置的示意图。参考图6,该基于UDP的低延时信息传输装置包括联网模块61、数据生成模块62、数据接收模块63和数据处理模块64。
其中,联网模块61,用于确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;数据生成模块62,用于通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;数据接收模块63,用于通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;数据处理模块64,用于通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
上述,通过在应用程序中集成基于UDP交互协议的软件开发工具包,在需要运行应用程序以进行游戏互动时,将多个安装有该应用程序的客户端加入同一局域网中,并将在应用程序运行过程中需要与其他客户端进行交互的待同步信息进行打包,并基于UDP交互协议发送到局域网中,以供其他客户端接收并处理,同时,基于UDP交互协议接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理,从而进行不同客户端之间的游戏互动,不依赖于服务器,数据交互的速度更快,提高用户体验。
本申请实施例还提供了一种计算机设备,该计算机设备可集成本申请实施例提供的基于UDP的低延时信息传输装置。图7是本申请实施例提供的一种计算机设备的结构示意图。参考图7,该计算机设备包括:输入装置73、输出装置74、存储器72以及一个或多个处理器71;所述存储器72,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器71执行,使得所述一个或多个处理器71实现如上述实施例提供的基于UDP的低延时信息传输方法。其中输入装置73、输出装置74、存储器72和处理器71可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器72作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的基于UDP的低延时信息传输方法对应的程序指令/模块(例如,基于UDP的低延时信息传输装置中的联网模块61、数据生成模块62、数据接收模块63和数据处理模块64)。存储器72可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器72可进一步包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置73可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置74可包括显示屏等显示设备。
处理器71通过运行存储在存储器72中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于UDP的低延时信息传输方法。
上述提供的基于UDP的低延时信息传输装置和计算机设备可用于执行上述实施例提供的基于UDP的低延时信息传输方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于UDP的低延时信息传输方法,该基于UDP的低延时信息传输方法包括:确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于UDP的低延时信息传输方法,还可以执行本申请任意实施例所提供的基于UDP的低延时信息传输方法中的相关操作。
上述实施例中提供的基于UDP的低延时信息传输装置、设备及存储介质可执行本申请任意实施例所提供的基于UDP的低延时信息传输方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于UDP的低延时信息传输方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种基于UDP的低延时信息传输方法,其特征在于,包括:
确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;
通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;
通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;
通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
2.根据权利要求1所述的基于UDP的低延时信息传输方法,其特征在于,所述软件开发工具包还基于TCP交互协议生成;
所述通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包,包括:
确定所述应用程序生成的待同步信息的类型,所述待同步信息的类型包括时效性同步信息和非时效性同步信息;
若所述待同步信息的类型为时效性同步信息,则基于UDP交互协议,通过所述软件开发工具包将所述时效性同步信息打包,生成时效性待同步数据包;
若所述待同步信息的类型为非时效性同步信息,则基于TCP交互协议,通过所述软件开发工具包将所述非时效性同步信息打包,生成非时效性待同步数据包。
3.根据权利要求2所述的基于UDP的低延时信息传输方法,其特征在于,所述通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收,包括:
若所述待同步信息的类型为时效性同步信息,则基于UDP交互协议,通过所述软件开发工具包向局域网上传所述时效性待同步数据包,以供局域网中的其他客户端接收;
若所述待同步信息的类型为非时效性同步信息,则基于TCP交互协议,通过所述软件开发工具包向局域网上传所述非时效性待同步数据包,以供局域网中的其他客户端接收。
4.根据权利要求2所述的基于UDP的低延时信息传输方法,其特征在于,所述通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,包括:
确定局域网中由其他客户端上传的待同步数据包的类型;
若待同步数据包类型为时效性待同步数据包,则基于UDP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的时效性待同步数据包;
若待同步数据包类型为非时效性待同步数据包,则基于TCP交互协议,通过所述软件开发工具包从局域网中接收由其他客户端上传的非时效性待同步数据包。
5.根据权利要求1-4任一项所述的基于UDP的低延时信息传输方法,其特征在于,所述方法还包括:
基于iperf确定待同步数据包的丢包率;
基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,所述实时交互协议包括UDP交互协议和TCP交互协议。
6.根据权利要求5所述的基于UDP的低延时信息传输方法,其特征在于,所述基于所述丢包率确定收发所述待同步数据包所应用的实时交互协议,包括:
响应于所述丢包率在预设阈值范围以内,确定所述待同步数据包的实时交互协议为UDP交互协议;
响应于所述丢包率在预设阈值范围以外,确定所述待同步数据包的实时交互协议为TCP交互协议。
7.根据权利要求6所述的基于UDP的低延时信息传输方法,其特征在于,所述响应于所述丢包率在预设阈值范围以外,确定所述待同步数据包的实时交互协议为TCP交互协议之后,还包括:
基于UDP交互协议向局域网发送丢包率测试包,并基于iperf确定丢包率测试包的测试丢包率;
基于所述测试丢包率确定收发所述待同步数据包所应用的实时交互协议。
8.一种基于UDP的低延时信息传输装置,其特征在于,包括联网模块、数据生成模块、数据接收模块和数据处理模块,其中:
联网模块,用于确认客户端已接入局域网,所述客户端安装有应用程序,并且所述应用程序集成有基于UDP交互协议生成的软件开发工具包;
数据生成模块,用于通过所述软件开发工具包将所述应用程序生成的待同步信息打包,生成待同步数据包;
数据接收模块,用于通过所述软件开发工具包向局域网上传所述待同步数据包,以供局域网中的其他客户端接收;
数据处理模块,用于通过所述软件开发工具包从局域网中接收由其他客户端上传的待同步数据包,并对接收到的待同步数据包进行拆包,获取由其他客户端生成的待同步信息,并发送至应用程序进行处理。
9.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的基于UDP的低延时信息传输方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的基于UDP的低延时信息传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017697.9A CN111265852A (zh) | 2020-01-08 | 2020-01-08 | 一种基于udp的低延时信息传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010017697.9A CN111265852A (zh) | 2020-01-08 | 2020-01-08 | 一种基于udp的低延时信息传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111265852A true CN111265852A (zh) | 2020-06-12 |
Family
ID=70991051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010017697.9A Pending CN111265852A (zh) | 2020-01-08 | 2020-01-08 | 一种基于udp的低延时信息传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111265852A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112891928A (zh) * | 2021-02-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 数据处理方法、存储介质及电子设备 |
CN113905040A (zh) * | 2021-09-30 | 2022-01-07 | 北京百度网讯科技有限公司 | 文件传输方法、装置、系统、设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449771A (zh) * | 2018-06-29 | 2018-08-24 | Oppo(重庆)智能科技有限公司 | 网络切换方法、装置、终端及存储介质 |
CN110025960A (zh) * | 2019-03-26 | 2019-07-19 | 宋甫 | 一种基于区块链的多人游戏同步方法、系统、介质及设备 |
-
2020
- 2020-01-08 CN CN202010017697.9A patent/CN111265852A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449771A (zh) * | 2018-06-29 | 2018-08-24 | Oppo(重庆)智能科技有限公司 | 网络切换方法、装置、终端及存储介质 |
CN110025960A (zh) * | 2019-03-26 | 2019-07-19 | 宋甫 | 一种基于区块链的多人游戏同步方法、系统、介质及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112891928A (zh) * | 2021-02-02 | 2021-06-04 | 网易(杭州)网络有限公司 | 数据处理方法、存储介质及电子设备 |
CN113905040A (zh) * | 2021-09-30 | 2022-01-07 | 北京百度网讯科技有限公司 | 文件传输方法、装置、系统、设备以及存储介质 |
CN113905040B (zh) * | 2021-09-30 | 2024-04-02 | 北京百度网讯科技有限公司 | 文件传输方法、装置、系统、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102110698B1 (ko) | 단말기 상호 연결 방법, 장치 및 저장 매체 | |
CN111294399B (zh) | 一种数据传输方法和装置 | |
US20130198266A1 (en) | Facilitating communication between web-enabled devices | |
EP3331205B1 (en) | Data packet transmission method utilized in ipv6 network and device utilizing same | |
CN113676741B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN111265852A (zh) | 一种基于udp的低延时信息传输方法及装置 | |
CN112333019A (zh) | 路由器的配置、测试方法及系统和可读存储介质 | |
CN111885004A (zh) | 一种应用层消息传输方法及通信接口平台 | |
CN115297164A (zh) | 网络代理方法、装置、电子设备及计算机可读存储介质 | |
CN108234511B (zh) | 多媒体数据传输的方法、系统、设备、存储介质及网关 | |
CN111464879B (zh) | 一种数据通信的方法及装置 | |
CN115550250B (zh) | 小流报文重传方法、系统、电子设备及存储介质 | |
US20230291802A1 (en) | Connection establishment method, server, accessed node, access node, and storage medium | |
JP2015118478A (ja) | 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム | |
CN114710568B (zh) | 音视频数据通信方法、设备及存储介质 | |
WO2016154831A1 (zh) | 一种实现传输控制协议tcp传输的方法及装置 | |
CN112994848B (zh) | Mcs的调整方法、装置、存储介质及无线节点 | |
CN109067922A (zh) | 一种数据传输方法及装置 | |
CN114363427A (zh) | 一种基于浏览器实时获取主机设备信息的方法 | |
CN112468886B (zh) | 组播数据转发方法、装置、设备及可读存储介质 | |
CN111818170B (zh) | 网络通信方法和系统、及智能音箱 | |
CN113973134A (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN112566176A (zh) | 数据监听还原方法、装置、设备及介质 | |
CN111711554A (zh) | 基于tcp的udp隧道的数据传输方法和装置及设备 | |
Schoonwinkel | Practical measurements of wi-fi direct in content sharing, social gaming android applications |
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 |