建立数据连接的方法及装置的制造方法

xiaoxiao2021-2-23  128

建立数据连接的方法及装置的制造方法
【技术领域】
[0001]本公开涉及网络技术领域,特别涉及一种建立数据连接的方法及装置。
【背景技术】
[0002]随着网络技术的飞速发展,智能设备的数据服务也得到迅速发展。通过建立数据连接,不同智能设备可以进行数据传输。例如,若将智能手机与智能电视之间建立数据连接,则可以将智能手机中的数据发送到智能电视中。
[0003]在相关技术中,一个智能设备上还可以安装有不同应用,从而一个智能设备可以与另一个智能设备通过所安装的应用进行数据传输,甚至,一个智能设备可以通过多个应用与另一个智能设备进行数据传输。例如,当智能手机中的A应用要与智能电视中的A*应用传输数据时,需要与智能电视中的端口Port A建立数据连接,而当该智能手机中的B应用要与该智能电视中的应用传输数据时,需要与智能电视中的端口Port B建立数据连接。

【发明内容】

[0004]本公开实施例提供了一种建立数据连接的方法及装置。所述技术方案如下:
[0005]根据本公开实施例的第一方面,提供了一种建立数据连接的方法,包括:
[0006]接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据;
[0007]提取所述目标应用标识;
[0008]根据所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址;
[0009]运行所述目标回调函数,将所述传输数据发送给所述目标应用。
[0010]在本公开实施例的第一方面的第一种可能的实现方式中,所述接收终端发送的数据包之前,所述方法还包括:
[0011 ]接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数;
[0012]将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。
[0013]在本公开实施例的第一方面的第二种可能的实现方式中,所述方法还包括:
[0014]接收终端发送的建立连接请求;
[0015]建立与所述终端之间的数据连接。
[0016]结合本公开实施例的第一方面和第一方面的第二种可能实现方式,在第三种可能的实现方式中,所述建立与所述终端之间的数据连接,包括:
[0017]检测本端是否具备空闲端口;
[0018]当本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。
[0019]在本公开实施例的第一方面的第四种可能的实现方式中,所述接收终端发送的数据包包括:
[0020]通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。
[0021 ]根据本公开实施例的第二方面,提供了一种建立数据通信的装置,包括:
[0022]接收模块,用于接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据;
[0023]提取模块,用于提取所述目标应用标识;
[0024]确定模块,用于根据所述提取模块提取的所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址;
[0025]运行模块,用于运行所述确定模块确定的所述目标回调函数,将所述传输数据发送给所述目标应用。
[0026]在本公开实施例的第二方面的第一种可能的实现方式中,所述接收模块还用于接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数;
[0027]所述装置还包括:
[0028]存储模块,用于将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。
[0029]在本公开实施例的第二方面的第二种可能的实现方式中,所述接收模块还用于接收终端发送的建立连接请求;
[0030]所述装置还包括:
[0031]建立模块,用于建立与所述终端之间的数据连接。
[0032]结合本公开实施例的第二方面和第二方面的第二种可能实现方式,在第三种可能的实现方式中,所述装置还包括:
[0033]检测模块,用于检测本端是否具备空闲端口;
[0034]所述建立模块还用于当所述检测模块确定本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。
[0035]在本公开实施例的第二方面的第四种可能的实现方式中,所述接收模块还用于通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。
[0036]根据本公开实施例的第三方面,提供了一种建立数据连接的装置,包括:
[0037]处理器;
[0038]用于存储所述处理器的可执行指令的存储器;
[0039]其中,所述处理器用于:
[0040]接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据;
[0041 ]提取所述目标应用标识;
[0042]根据所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址;
[0043]运行所述目标回调函数,将所述传输数据发送给所述目标应用。
[0044]本公开实施例提供的技术方案可以包括以下有益效果:
[0045]通过提取终端发送的数据包中所携带的目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标回调函数,通过运行目标回调函数,将传输数据发送给目标应用,如此,对接收到的数据包进行统一管理和发送,终端无需与过多端口建立连接,可以节省端口资源。
[0046]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0047]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0048]图1是根据一示例性实施例示出的一种建立通信连接的方法流程图。
[0049]图2A是根据另一示例性实施例示出的一种建立通信连接的方法流程图。
[0050]图2B是图2A实施例所涉及的一种建立通信连接的示意图。
[0051 ]图2C是图2A实施例所涉及的另一种建立通信连接的示意图。
[0052]图2D是图2A实施例所涉及的一种数据包的示意图。
[0053]图3是根据一示例性实施例示出的一种建立通信连接的装置框图。
[0054]图4是根据另一示例性实施例示出的一种建立通信连接的装置框图。
[0055]图5是根据一示例性实施例示出的一种终端500的框图。
【具体实施方式】
[0056]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0057]本公开实施例提供的方法,可以应用于智能设备中,该智能设备上可以安装有不同应用,通过所安装的应用,该智能设备可以与其它智能设备之间进行数据传输。上述智能设备可以是智能电视、智能音箱等智能家居,也可以是手机、平板电脑或计算机等终端。
[0058]图1是根据一示例性实施例示出的一种建立数据连接的方法流程图。该建立数据连接的方法可以包括如下几个步骤:
[0059]在步骤101中,接收终端发送的数据包,该数据包携带目标应用标识以及传输数据。
[0060]在步骤102中,提取目标应用标识。< br>[0061]在步骤103中,根据目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,预设回调函数对应表包括应用标识以及对应的回调函数,其中,目标回调函数用于将传输数据发送至目标应用对应的数据存储地址。
[0062]在步骤104中,运行目标回调函数,将传输数据发送给目标应用。
[0063]本公开实施例提供的方法,通过提取终端发送的数据包中所携带的目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标回调函数,通过运行目标回调函数,将传输数据发送给目标应用。如此,对接收到的数据包进行统一管理和发送,终端无需与过多端口建立连接,可以节省端口资源。
[0064]基于上述提供的方法,在一种可能的实现方式中,所述接收终端发送的数据包之前,所述方法还包括:
[0065]接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数;
[0066]将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。
[0067]上述通过接收本端应用发送的注册消息,将注册消息携带的应用标识和回调函数存储至预设回调函数对应表中,以便在接收到数据包时,可以根据目标应用标识确定回调函数,从而实现将接收的传输数据发送给对应的应用。
[0068]在另一种可能的实现方式中,所述方法还包括:
[0069]接收终端发送的建立连接请求;
[0070]建立与所述终端之间的数据连接。
[0071 ]上述通过接收建立连接请求,建立与终端之间的数据连接,可以实现与终端之间进行数据传输。
[0072]在另一种可能的实现方式中,所述建立与所述终端之间的数据连接,包括:
[0073]检测本端是否具备空闲端口;
[0074]当本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。
[0075]上述通过将检测到的空闲端口与终端建立数据连接,当终端有不同建立连接需求时,可以满足建立不同的数据连接。
[0076]在另一种可能的实现方式中,所述接收终端发送的数据包包括:
[0077]通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。
[0078]上述通过与终端建立的不同数据连接,接收不同类型的数据包,避免不同类型的数据包之间相互干扰,提高了端口的利用效率。
[0079]上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再
--赘述。
[0080]图2A是根据另一示例性实施例示出的一种建立数据连接的方法流程图,本实施例以该建立数据连接的方法由智能设备执行来进行举例说明。该建立数据连接的方法可以包括如下几个步骤:
[0081]在步骤201中,智能设备接收智能设备中的应用发送的注册消息,该注册消息携带应用标识和回调函数。
[0082]本公开实施例提供的方法,请参考图2B,在智能设备中建立一个UDT(UDP-basedData Transfer Protocol,基于UDP(User Datagram Protocol,用户数据报协议)的数据传输协议)模块,该UDT模块用于统一接收和发送数据。
[0083]为了使得智能设备能够将所接收到的传输数据发送给对应的应用,当检测到智能设备启动时,智能设备中的应用自动向UDT模块发送注册消息。其中,注册消息携带应用标识和回调函数,该应用标识用于唯一标识一个应用,且该应用标识与回调函数一一对应,即智能设备可以根据该应用标识,唯一确定对应的回调函数,应用标识可以为16位的整形数。其中,该回调函数用于将传输数据发送至应用对应的数据存储地址,该回调函数可以是由应用生成,也可以是由应用发送给中间软件,再由中间软件生成。
[0084]在步骤202中,智能设备将应用标识和回调函数对应存储至预设回调函数对应表中。
[0085]智能设备在建立UDT模块时可以通过上述步骤201和步骤202的方式建立预设回调函数对应表,而在接收到其它应用发送的应用标识和回调函数时,以应用标识为索引,将应用标识和回调函数存储至该预设回调函数对应表中。即预设回调函数对应表包括应用标识以及对应的回调函数。
[0086]在一种可能的实现方式中,上述将应用标识和回调函数对应存储至预设回调函数对应表中可以是一个新增的过程,具体地,在数据库中的预设回调函数对应表中已经存储了一些应用标识和回调函数之间的对应关系,而本次接收到的注册消息为新增加的,智能设备将本次接收到的注册消息携带的应用标识和回调函数存储至预设回调函数对应表中。在一种可能的实现过程中,若本次接收到的注册消息为新增加的,如果智能设备检测到数据库中的预设回调函数对应表中已经存有该注册消息携带的应用标识和回调函数时,则不再重复存储。
[0087]需要说明的是,步骤202存储过程和步骤203终端发送建立连接请求之间没有严格的先后执行顺序,即步骤202存储过程可以在步骤203终端发送建立连接请求之前执行,也可以在步骤203终端发送建立连接请求之后执行,还可以与步骤203终端发送建立连接请求同时执行。
[0088]在步骤203中,终端向智能设备发送建立连接请求。
[0089]请参考图2B,在终端侧设置有UDTC1ient模块,终端向智能设备发送数据包之前,可以通过UDTClient模块向智能设备发送建立连接请求,UDTClient模块用于向智能设备发送建立连接请求。
[0090]在实际应用过程中,数据包可能包括多种类型,若终端只与智能设备的一个端口建立连接,则智能设备只能通过该同一端口接收不同类型的数据包,如此,若终端同时发送不同类型的数据包,则容易造成端口堵塞。为此,为了提高数据包传输的有效性,终端还可以根据待发送的数据包的类型,与智能设备建立多个不同的数据连接,因此,在该步骤203中,终端可以根据待发送的数据包类型,向智能设备发送用于建立与数据包类型对应数据连接的建立连接请求。
[0091]其中,数据包的类型由待发送数据包的发送频率和数据包大小中至少一项确定。例如,为发送频率较高、数据包大小较小的数据包建立优先级较高的数据连接,为发送频率较小、数据包大小较大的数据包建立优先级较低的数据连接,本公开实施例对具体建立哪种优先级的连接不做限定。则针对上述不同的数据包类型,可以发送不同建立连接请求。
[0092]在本公开实施例中,根据数据包的发送频率以及数据包大小不同,可以将数据包分为如下三种不同类型:
[0093]在第一种可能的实现方式中,数据包为第一类数据包。该第一类数据包的发送频率大于第一预设频率,且第一类数据包小于第一预设阈值。其中,第一预设频率可以由系统默认设置,也可以由用户根据实际需求自主设置,同理,第一预设阈值可以由系统默认设置,也可以由用户根据实际需求自主设置。该第一类数据包的特点在于,其发送频率较大,但数据包较小,例如,第一类数据包为终端中即时聊天应用发送的聊天内容。
[0094]在第二种可能的实现方式中,数据包为第二类数据包。该第二类数据包的发送频率小于第二预设频率,且第二类数据包大于第二预设阈值。其中,第二预设频率可以由系统默认设置,也可以由用户根据实际需求自主设置,同理,第二预设阈值可以由系统默认设置,也可以由用户根据实际需求自主设置。该第二类数据包的特点在于,其发送频率较小,但数据包较大,例如,第二类数据包为终端发送的音频文件。
[0095]在第三种可能的实现方式中,数据包为第三类数据包。该第三类数据包的发送频率为按照预设周期发送。其中,预设周期可以由系统默认设置,也可以由用户根据实际需求自主设置。第三类数据包可以称为实时数据包,例如,该第三类数据包为终端发送的控制指令。
[0096]例如,当终端想要发送数据包A,该数据包A属于第一类数据包时,则终端向智能设备发送第一建立连接请求。当终端想要发送数据包B,该数据包B属于第二类数据包时,则终端向智能设备发送第二建立连接请求。基于上述的三种类型数据包,可以为一个终端和一个智能设备之间建立三个数据连接。请参考图2C,在终端侧, 也设有三个端口,分别为第一端口 A ’、第二端口 B,和第三端口 C ’,终端通过发送三个建立连接请求,可以通过上述三个端口与智能设备建立三个连接。
[0097]另外,为了避免浪费,可以终端在发送任一建立连接请求之前,可以检测自身与该智能设备是否已建立了相同类型的数据连接,如果已建立,则可复用该数据连接。也即是,该方法还包括:终端在发送建立连接请求之前,获取待发送数据包的类型,并检测UDTClient模块是否已经与智能设备之间建立了用于发送该类型数据包的数据连接,若确定未建立数据连接,则向智能设备发送建立连接请求。反之,复用该类型数据包已建立的数据连接。
[0098]例如,终端想要发送数据包A,该数据包A属于第一类数据包时,若终端检测UDTClient模块与智能设备建立了用于传输第一类型数据包的数据连接,则终端复用该数据连接向智能设备发送数据包A。
[0099]在步骤204中,智能设备接收终端发送的建立连接请求。
[0100]对于智能设备,无论终端发送几个建立连接请求,智能设备均以唯一的处理方式来处理所接收到的建立连接请求。具体地,在智能设备的UDT模块中,设置有一个监听端口,例如,该监听端口的端口号为8080。该监听端口用于接收终端发送的建立连接请求。当终端想要与智能设备建立连接时,向该监听端口发送建立连接请求,智能设备通过该监听端口,接收终端发送的建立连接请求。
[0101]在步骤205中,智能设备检测本端是否具备空闲端口,如果是,则执行步骤206。
[0102]智能设备上具有多个端口,该多个端口可能处于不同的使用状态,如已经被占用或者空闲,因此,需要检测是否具备空闲端口,以确定是否能成功建立数据连接。请参考图2C,智能设备设置有三个端口,分别为第一端口 A、第二端口 B和第三端口 C。若检测到智能设备的第一端口 A处于空闲状态,则执行后续步骤206,以通过该第一端口 A与终端建立第一数据连接。
[0103]在步骤206中,智能设备检测到本端具备空闲端口时,通过所述空闲端口与终端建立第一数据连接。
[0104]上述终端与智能设备之间仅建立了一个数据连接,在一种可能的实现方式中,智能设备与终端之间还可以建立第二数据连接和第三数据连接。具体地,当终端发送的多个建立连接请求,建立第二数据连接和第三数据连接具体包括如下任一种可能的实现方式:
[0105]在第一种可能的实现方式中,若终端与智能设备已经建立了第一数据连接,当终端再次发送建立连接请求时,智能设备检测处于空闲状态的端口,并将该端口与终端建立第二数据连接,相应地,终端通过另外一个端口与智能设备建立连接。
[0106]例如,若终端已经通过第一端口A’与智能设备的第一端口A建立了第一数据连接,当智能设备再次接收到终端发送的建立连接请求时,如果检测到第二端口 B处于空闲状态,则通过第二端口 B与终端的第二端口 B ’建立第二数据连接。当然,若第三端口 C也处于空闲状态,智能设备可以选择两者中的任一端口与终端建立第二数据连接。
[0107]在第二种可能的实现方式中,若终端与智能设备已经建立了第一连接,并且已经建立了第二连接。当终端再次向智能设备发送建立连接请求时,智能设备检测处于空闲状态的端口,并通过该端口与终端之间建立第三数据连接,相应地,终端也通过不同的端口与智能设备建立连接。
[0108]例如,若终端已经通过第一端口A’与智能设备的第一端口A建立了第一数据连接,且也通过第二端口B’与智能设备的第二端口B建立了第二数据连接,当智能设备再次接收到终端发送的建立连接请求时,如果检测到第三端口 C处于空闲状态,则通过第三端口 C与终端的第三端口 C,建立第三数据连接。
[0109]在步骤207中,终端通过第一数据连接向智能设备发送数据包。
[0110]终端与智能设备之间建立第一数据连接后,即可通过该第一数据连接请求,向智能设备发送数据包。
[0111]在一种可能的实现方式中,终端还可以根据所要发送的数据包的类型不同,选择不同的数据连接发送不同类型的数据包。例如,终端可以通过第一数据连接发送第一类数据包,通过第二数据连接发送第二类数据包,并通过第三数据连接发送第三类数据包。当然,终端可以自由选择通过哪个数据连接发送哪一类的数据包,例如,也可以通过第二数据连接发送第一类数据包。但是,通常情况下,同一连接只用于传输同类型的数据包,即,若终端选择通过第一数据连接发送第一类数据包,则该第一数据连接只用于传输第一类数据包。
[0112]在步骤208中,智能设备接收终端发送的数据包,该数据包携带目标应用标识以及传输数据。
[0113]智能设备通过与终端建立的不同数据连接,接收终端发送的不同类型的数据包。具体地,智能设备根据终端选择的数据连接,通过不同的端口接收不同类型的数据包。例如,若终端选择通过第一数据连接发送第一类数据包,则智能设备通过端口 A来接收第一类型数据包。
[0114]请参考图2D,数据包通常由包头和传输数据两部分组成,包头中可以携带有目标应用标识。目标应用标识用于指示智能设备将传输数据发送给智能设备对应的应用,其长度为2B。传输数据是指实际要传输的内容,传输数据可以是音频数据或视频数据等多媒体数据,也可以是控制指令等,例如,该传输数据可以用于控制智能设备当前显示的游戏画面中的虚拟对象。
[0115]另外,请再参考图2D,包头中还可以包括有包头标识、协议版本、起始包标识、保留位、包头长度、数据长度以及源应用标识。
[0116]其中,包头标识用于定位数据包,即通过包头标识可以确定一个数据包的起始位置,例如,包头标识设为M。
[0117]其中,协议版本用于表示传输该数据包所使用的UDT协议的版本,其长度为4bit,占用包头中的第4bit至第7bit。
[0118]其中,对于起始包标识,根据该起始包标识,可以确定一个完整的资源,具体地,当一个资源较大时,需要将资源划分为N个数据包发送,此时,可以将起始包中的起始包标识设置为1,后续的N-1个数据包中起始包标识设置为0,在接收过程中,当再次接收到起始包标识设置为1的第N+1个数据包时,可以确定前N个数据包属于一个资源,从而可以确定一个完整的资源。该起始包标识仅使用包头中的第3b i t。
[0119]其中,保留位可以用于扩展数据包,其长度为3bit,占用包头的第Obit至第2bit。
[0120]其中,包头长度用于表示包头的总长度,以Byte为单位,例如,本实施例中的包头长度为5Byte,即在本数据包中,第OByte至第4Byte为包头。
[0121]其中,数据长度用于表示传输数据的总长度,例如,在本实施例中为4Byte。
[0122]其中,源应用标识用于标识该数据包由终端中的哪个应用发送,该源应用标识为16位的整形数,其长度为2Byte。
[0123]当然,包头还可以包括其它组合形式,本公开对此不作限定。
[0124]在步骤209中,智能设备提取目标应用标识。
[0125]当接收到终端发送的数据包时,请参考图2D,智能设备从数据包的包头中提取目标应用标识。
[0126]在步骤210中,根据目标应用标识以及预设回调函数对应表,智能设备确定目标应用对应的目标回调函数。
[0127]智能设备提取目标应用标识后,以该目标应用标识为索引,从数据库中存储的预设回调函数对应表中确定目标应用对应的目标回调函数。其中,目标回调函数用于将传输数据发送至目标应用对应的数据存储地址。
[0128]在一种可能的实现方式中,若智能设备未查询到该目标应用标识对应的目标回调函数,则将所接收到的数据包丢弃,并且,向终端返回错误消息,以使终端接收到错误消息后,执行对应的操作,如重新发送数据包等。如此,在数据包接收不成功的情况下,及时丢弃该数据包,避免影响对后续所接收的数据包的处理进度,并且,通过返回错误消息,可以使得终端侧可以及时采取应对措施。
[0129]在步骤211中,智能设备运行目标回调函数,将传输数据发送给目标应用。
[0130]确定目标回调函数后,运行该目 标回调函数,使得将获取到的传输数据发送给目标应用。具体地,该目标回调函数可以为复制函数,目标回调函数中携带目标应用对应的存储地址参数,当运行该目标回调函数时,将传输数据拷贝到该目标应用对应的存储地址中。
[0131]本公开实施例提供的方法,通过提取终端发送的数据包中所携带的目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标回调函数,通过运行目标回调函数,将传输数据发送给目标应用。如此,对接收到的数据包进行统一管理和发送,终端无需与过多端口建立连接,可以节省端口资源。
[0132]下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0133]图3是根据一示例性实施例示出的一种建立数据连接的装置框图,该建立数据连接的装置可以通过软件、硬件或者两者的结合实现。该建立数据连接的装置可以包括:
[0134]接收模块310,用于接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据;
[0135]提取模块320,用于提取所述目标应用标识;
[0136]确定模块330,用于根据所述提取模块320提取的所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址;
[0137]运行模块340,用于运行所述确定模块330确定的所述目标回调函数,将所述传输数据发送给所述目标应用。
[0138]本公开实施例提供的装置,通过提取终端发送的数据包中所携带的目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标回调函数,通过运行目标回调函数,将传输数据发送给目标应用。如此,对接收到的数据包进行统一管理和发送,终端无需与过多端口建立连接,可以节省端口资源。
[0139]基于上述提供的装置,请参考图4,在一种可能的实现方式中,所述接收模块310还用于接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数;
[0140]所述装置还包括:
[0141]存储模块350,用于将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。
[0142]在另一种可能的实现方式中,所述接收模块310还用于接收终端发送的建立连接请求;
[0143]所述装置还包括:
[0144]建立模块360,用于建立与所述终端之间的数据连接。
[0145]在另一种可能的实现方式中,所述装置还包括:
[0146]检测模块370,用于检测本端是否具备空闲端口;
[0147]所述建立模块360还用于当所述检测模块370确定本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。
[0148]在另一种可能的实现方式中,所述接收模块310还用于通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。
[0149]需要说明的一点是,上述实施例提供的建立数据连接的装置在实现建立数据连接的方法时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0150]本实施例提供了一种终端,该终端可以用于执行上述各个实施例中提供的建立数据连接的方法。参见图5,该终端500包括:
[0151]终端500可以包括RF(Rad1 Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi (Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0152]RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communicat1n,全球移动通讯系统)、GPRS(General Packet Rad1 Service,通用分组无线服务)、CDMA(CodeDivis1n Multiple Access,码分多址)、WCDMA(Wideband Code Divis1n MultipleAccess ,宽带码分多址)、LTE(Long Term Evolut1n ,长期演进)、电子邮件、SMS (ShortMessaging Service,短消息服务)等。
[0153]存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
[0154]输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0155]显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用IXD(Liquid Crystal Display,液晶显示器)、0LED(0rganic Light-Emitting D1de,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图5中,触敏表面131与显示面板141是作为两个独立的部件 来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
[0156]终端500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0157]音频电路160、扬声器161,传声器162可提供用户与终端500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端500的通信。
[0158]WiFi属于短距离无线传输技术,终端500通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了 WiFi模块170,但是可以理解的是,其并不属于终端500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0159]处理器180是终端500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
[0160]终端500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0161]尽管未示出,终端500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行如图1或图2所示实施例提供的建立数据连接的方法。
[0162]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0163]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种建立数据连接的方法,其特征在于,所述方法包括: 接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据; 提取所述目标应用标识; 根据所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址; 运行所述目标回调函数,将所述传输数据发送给所述目标应用。2.根据权利要求1所述的方法,其特征在于,所述接收终端发送的数据包之前,所述方法还包括: 接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数; 将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 接收终端发送的建立连接请求; 建立与所述终端之间的数据连接。4.根据权利要求3所述的方法,其特征在于,所述建立与所述终端之间的数据连接,包括: 检测本端是否具备空闲端口; 当本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。5.根据权利要求1所述的方法,其特征在于,所述接收终端发送的数据包包括: 通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。6.一种建立数据连接的装置,其特征在于,所述装置包括: 接收模块,用于接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据; 提取模块,用于提取所述目标应用标识; 确定模块,用于根据所述提取模块提取的所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址; 运行模块,用于运行所述确定模块确定的所述目标回调函数,将所述传输数据发送给所述目标应用。7.根据权利要求6所述的装置,其特征在于,所述接收模块还用于接收本端应用发送的注册消息,所述注册消息携带应用标识和回调函数; 所述装置还包括: 存储模块,用于将所述应用标识和所述回调函数对应存储至所述预设回调函数对应表中。8.根据权利要求6所述的装置,其特征在于,所述接收模块还用于接收终端发送的建立连接请求; 所述装置还包括: 建立模块,用于建立与所述终端之间的数据连接。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 检测模块,用于检测本端是否具备空闲端口; 所述建立模块还用于当所述检测模块确定本端具备空闲端口时,通过所述空闲端口与所述终端建立数据连接。10.根据权利要求6所述的装置,其特征在于,所述接收模块还用于通过与所述终端建立的不同数据连接,接收所述终端发送的不同类型的数据包,数据包的类型由所述数据包的发送频率和数据包大小中至少一项确定。11.一种建立数据连接的装置,其特征在于,包括: 处理器; 用于存储所述处理器的可执行指令的存储器; 其中,所述处理器用于: 接收终端发送的数据包,所述数据包携带目标应用标识以及传输数据; 提取所述目标应用标识; 根据所述目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,所述预设回调函数对应表包括应用标识以及对应的回调函数,其中,所述目标回调函数用于将所述传输数据发送至所述目标应用对应的数据存储地址; 运行所述目标回调函数,将所述传输数据发送给所述目标应用。
【专利摘要】本公开是关于一种建立数据连接的方法及装置,属于网络技术领域。本公开通过接收终端发送的数据包,该数据包携带目标应用标识以及传输数据,提取目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标应用对应的目标回调函数,运行目标回调函数,将传输数据发送给目标应用。通过提取终端发送的数据包中所携带的目标应用标识,根据目标应用标识以及预设回调函数对应表,确定目标回调函数,通过运行目标回调函数,将传输数据发送给目标应用。如此,对接收到的数据包进行统一管理和发送,终端无需与过多端口建立连接,可以节省端口资源。
【IPC分类】H04L29/08
【公开号】CN105491135
【申请号】CN201510919039
【发明人】吴楠, 高应军, 何超
【申请人】小米科技有限责任公司
【公开日】2016年4月13日
【申请日】2015年12月11日

最新回复(0)