发明内容
本申请实施例提供了通信连接方法、装置、服务器及介质,旨在解决相关技术中,相同的设备之间通常采用固定的通信协议进行通信,通信方式不够灵活的问题。
第一方面,本申请实施例提供了一种通信连接方法,该方法包括:
分别获取第一目标设备和第二目标设备的网络配置信息;
根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议;
根据通信协议,控制第一目标设备和第二目标设备建立通信连接。
进一步地,分别获取第一目标设备和第二目标设备的网络配置信息,包括:
获取第一目标设备的第一网络地址,以及获取第二目标设备的第二网络地址;
相应的,根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议,包括:
根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议。
进一步地,第一网络地址包括以下至少一项:第一目标设备所在网络的第一内网地址,第一目标设备所在网络的第一外网地址;
第二网络地址包括以下至少一项:第二目标设备所在网络的第二内网地址,第二目标设备所在网络的第二外网地址。
进一步地,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,包括:
若第一内网地址和第二内网地址指示第一目标设备和第二目标设备处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为传输控制协议(Transmission Control Protocol,TCP)。
进一步地,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,包括:
若第一内网地址和第二内网地址指示第一目标设备和第二目标设备不处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为用户数据报协议(UserDatagram Protocol,UDP)。
进一步地,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,还包括:
若第一目标设备与第二目标设备以UDP协议通信时,建立通信连接失败,则确定第一目标设备与第二目标设备之间的通信协议为基于中转服务器的TCP协议。
进一步地,在根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议之前,方法还包括:
获取第一目标设备的第一设备标识和第二目标设备的第二设备标识;
根据第一设备标识和第二设备标识,查询是否有针对第一目标设备以及第二目标设备的通信连接指令;
若有,则进行根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议的步骤。
第二方面,本申请实施例提供了一种通信连接装置,该装置包括:
信息获取单元,用于分别获取第一目标设备和第二目标设备的网络配置信息;
协议确定单元,用于根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议;
连接建立单元,用于根据通信协议,控制第一目标设备和第二目标设备建立通信连接。
第三方面,本申请实施例提供了一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述通信连接方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述通信连接方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行上述第一方面中任一项的通信连接方法。
本申请实施例与相关技术相比存在的有益效果是:根据待连接的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备和第二目标设备之间进行网络通信的通信协议,使得第一目标设备和第二目标设备以所确定的通信协议对应的通信方式进行通信,在第一目标设备或第二目标设备的网络配置信息发生变化时,二者之间的通信方式可以相适应地发生变化,有助于实现第一目标设备和第二目标设备之间灵活通信。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请的技术方案,下面通过以下实施例来进行说明。
实施例一
参考图1,为本申请实施例提供的一种通信连接方法应用的系统架构图。
如图1所示,系统架构可以包括用户终端101、配置服务器102和诊断设备103。
其中,用户终端101,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。用户终端101上可以安装有各种应用,例如车辆诊断类应用、查错类应用、即时聊天类应用等。
诊断设备103通常是用于对车辆进行诊断的设备。上述车辆可以是各种车辆。例如,无人车、小汽车、大卡车等。需要指出的是,上述车辆也可以是各种其它交通工具。例如,飞机、轮船。
配置服务器102可以通过网络分别与用户终端101和诊断设备103连接。置服务器102可以是提供各种服务的服务器,例如确定用户终端101与诊断设备103之间的通信方式的服务器。配置服务器102可以分别获取第一目标设备和第二目标设备的网络配置信息;根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议;根据通信协议,控制第一目标设备和第二目标设备建立通信连接。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的通信连接方法一般由配置服务器102执行,相应地,通信连接装置一般设置于配置服务器102中。
应该理解,图1中的用户终端、配置服务器和诊断设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户终端、配置服务器和诊断设备。
实施例二
参考图2,为本申请实施例提供的一种通信连接方法的流程示意图,如图2所示的通信连接方法,包括:
步骤201,分别获取第一目标设备和第二目标设备的网络配置信息。
其中,上述第一目标设备可以是各种设备,如,可以是用户终端设备。上述第二目标设备可以是各种设备,如,可以是诊断设备。上述网络配置信息通常是对网络进行配置的信息。实践中,网络配置信息可以包括网络地址。且第一目标设备的网络地址通常为第一目标设备所在网络的地址。第二目标设备的网络地址通常为第二目标设备所在网络的地址。
在本实施例中,用于执行上述通信连接方法的执行主体通常为服务器(例如图1所示的配置服务器)。第一目标设备与服务器进行通信时,服务器可以获取到第一目标设备的网络配置信息,以及在第二目标设备与服务器进行通信时,服务器可以获取到第二目标设备的网络配置信息。服务器可以通过分别与第一目标设备和第二目标设备进行通信来获取两者的网络配置信息。
步骤202,根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议。
这里,服务器可以采用第一目标设备的网络配置信息和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议。
在本申请中,服务器通过获取并分析第一目标设备和第二目标设备的网络配置信息,得知第一目标设备和第二目标设备的网络情况,为第一目标设备和第二目标设备选择最优的通讯协议,从而使得第一目标设备与第二目标设备之间建立当前最优的、最直接、最稳定的通信连接。步骤203,根据通信协议,控制第一目标设备和第二目标设备建立通信连接。
这里,上述执行主体可以在确定第一目标设备与第二目标设备之间的通信协议后,通过向第一目标设备和第二目标设备发送指令,实现控制第一目标设备和第二目标设备建立通信连接。
本实施例提供的方法,根据待连接的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备和第二目标设备之间进行网络通信的通信协议,使得第一目标设备和第二目标设备以所确定的通信协议对应的通信方式进行通信,在第一目标设备或第二目标设备的网络配置信息发生变化时,二者之间的通信方式可以相适应地发生变化,有助于实现第一目标设备和第二目标设备之间灵活通信。
在本申请的各个实施例的可选的实现方式中,上述分别获取第一目标设备和第二目标设备的网络配置信息,包括:获取第一目标设备的第一网络地址,以及获取第二目标设备的第二网络地址。
相应的,根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议,包括:
根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议。
这里,第一目标设备的网络配置信息包括第一网络地址。第二目标设备的网络配置信息包括第二网络地址。第一网络地址通常是第一目标设备所在网络的网络地址。第二网络地址通常是第二目标设备所在网络的网络地址。
本实现方式可以实现根据待连接的第一目标设备和第二目标设备的网络地址,确定第一目标设备和第二目标设备之间进行网络通信的通信协议,在第一目标设备或第二目标设备的网络地址发生变化时,二者之间的通信方式可以相适应地发生变化,有助于进一步实现第一目标设备和第二目标设备之间灵活通信。
在本实施例的一些可选的实现方式中,第一目标设备的第一网络地址包括第一目标设备所在网络的第一内网地址和第一外网地址,第二目标设备的第二网络地址包括所在网络的第二内网地址和第二外网地址。
其中,第一内网地址通常为第一目标设备所在网络的内网地址。第一外网地址通常为第一目标设备所在网络的外网地址。第二内网地址通常为第二目标设备所在网络的内网地址。第二外网地址通常为第二目标设备所在网络的外网地址。
在本实施例的一些可选的实现方式中,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,可以包括:
若第一内网地址和第二内网地址指示第一目标设备和第二目标设备处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为TCP协议。
这里,由于TCP协议可以实现对数据进行准确可靠地传输,在第一目标设备与第二目标设备处于同一局域网时,采用TCP协议进行通信,可以提高第一目标设备与第二目标设备间数据传输的准确率。
在本实施例的一些可选的实现方式中,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,也可以包括:若第一内网地址和第二内网地址指示第一目标设备和第二目标设备不处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为UDP协议。
这里,由于UDP协议可以实现对数据进行快速传输,在第一目标设备与第二目标设备不处于同一局域网时,采用UDP协议进行通信,可以提高第一目标设备与第二目标设备间数据传输的效率。
在本实施例的一些可选的实现方式中,根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议,也可以包括:
若第一目标设备与第二目标设备以UDP协议通信时,建立通信连接失败,则确定第一目标设备与第二目标设备之间的通信协议为基于中转服务器的TCP协议。
这里,由于第一目标设备与第二目标设备之间的网络可能不支持UDP协议。在不支持UDP协议时,第一目标设备与第二目标设备间若以UDP协议建立通信连接,将出现通信连接建立失败的情况。此时,服务器可以确定第一目标设备与第二目标设备之间的通信协议为基于中转服务器的TCP协议。
需要指出的是,本申请可以结合第一目标设备与第二目标设备二者的网络地址的具体情况,确定第一目标设备与第二目标设备进行通信的通信协议。有助于进一步实现第一目标设备和第二目标设备之间灵活通信。
在本实施例的一些可选的实现方式中,上述根据通信协议,控制第一目标设备和第二目标设备建立通信连接,可以包括:若通信协议为TCP协议,服务器则向第二目标设备发送包括第一设备标识和第一内网地址的第一连接指令,以及向第一目标设备发送包括第二设备标识和第二内网地址的第二连接指令。
其中,第一连接指令和第二连接指令用于控制第一目标设备和第二目标设备建立基于TCP协议的通信连接。第一设备标识通常是第一目标设备的设备标识,第一设备标识可以是第一目标设备的序列号。第二设备标识通常是第二目标设备的设备标识,第二设备标识可以是第二目标设备的序列号。实践中,服务器中可以预先从第一目标设备和第二目标设备处获取并存储第一设备标识和第二设备标识。
这里,通信协议为TCP协议时,服务器可以向第二目标设备发送第一连接指令,以及向第一目标设备发送第二连接指令。这样,第一目标设备和第二目标设备可以根据第一连接指令和第二连接指令,建立通信连接。
在本实施例的一些可选的实现方式中,上述根据通信协议,控制第一目标设备和第二目标设备建立通信连接,也可以包括:
若通信协议为UDP协议,则向第二目标设备发送包括第一设备标识和第一外网地址的第三连接指令,以及向第一目标设备发送包括第二设备标识和第二外网地址的第四连接指令。第一设备标识可以是第一目标设备的序列号,第二设备标识可以是第二目标设备的序列号。实践中,服务器中可以预先从第一目标设备和第二目标设备处获取并存储第一设备标识和第二设备标识。
其中,第三连接指令和第四连接指令用于控制第一目标设备和第二目标设备建立基于UDP协议的通信连接。
这里,通信协议为UDP协议时,服务器可以向第二目标设备发送第三连接指令,以及向第一目标设备发送第四连接指令。这样,第一目标设备和第二目标设备可以根据第三连接指令和第四连接指令,建立通信连接。
实践中,第一目标设备在接收到第四连接指令时,会向第二目标设备发送用于与第二目标设备建立UDP连接的第一UDP信息,若接收到第二目标设备针对第一UDP信息的应答信息,则第一目标设备可以认为第一目标设备与第二目标设备建立UDP连接成功。另外,第二目标设备在接收到第三连接指令时,也可以向第一目标设备发送用于与第一目标设备建立UDP连接的第二UDP信息,若接收到第一目标设备针对第二UDP信息的应答信息,则第二目标设备可以认为第一目标设备与第二目标设备建立UDP连接成功。
需要指出的是,若第一目标设备与第二目标设备之间尝试多次连接均为建立UDP连接不成功,则认为第一目标设备与第二目标设备建立UDP连接失败。
在本实施例的一些可选的实现方式中,上述根据通信协议,控制第一目标设备和第二目标设备建立通信连接,可以包括:
步骤一,若通信协议为基于中转服务器的TCP协议,则分别向第一目标设备和第二目标设备发送预设的中转服务器群中各中转服务器的地址。
实践中,服务器可以以地址列表的形式,将预设中转服务器群中各中转服务器的地址分别发送至第一目标设备和第二目标设备。
步骤二,接收第一目标设备分别与各中转服务器间的第一网络测速数据,以及接收第二目标设备分别与各中转服务器间的第二网络测速数据。
其中,第一网络测速数据,通常是第一目标设备与各个中转服务器间的网络测速数据。针对每个中转服务器,可以对应得到一个第一网络测速数据。实践中,网络测速数据,可以是第一目标设备与中转服务器间的信号传输时间长度,也可以是第一目标设备与中转服务器间的信号传输速度。
实践中,第一目标设备在接收到各个中转服务器的地址后,可以分别向各个中转服务器发送预设测速信息,以及接收中转服务器针对该预设测速信息的应答信息,并根据预设测速信息的发送时间和应答信息的接收时间,计算得到第一目标设备与各个中转服务器间的第一网络测速数据。之后,第一目标设备可以将所得到的第一网络测速数据向服务器发送。这样,服务器可以接收到第一目标设备分别与各中转服务器间的第一网络测速数据。另外,服务器接收到第二网络测速数据的过程与接收到第一网络测速数据的过程基本相同,这里不做赘述。
步骤三,根据各中转服务器对应的第一网络测速数据和第二网络测速数据,从中转服务器群中,选取满足预设选取条件的中转服务器作为目标中转服务器。
其中,上述预设选取条件,可以是预先设定的用于选取目标中转服务器的条件。作为示例,上述预设选取条件可以为:选取对应平均网络速度最快的中转服务器作为目标中转服务器。其中,平均网络速度通常为第一网络测速数据对应的速度与第二网络测速数据对应的速度的均值。作为另一示例,上述预设选取条件也可以为:选取目标用户选取的中转服务器作为目标中转服务器。其中,目标用户可以是第一目标设备的用户。
步骤四,向第二目标设备发送包括第一设备标识、第一外网地址和目标中转服务器的地址的第五连接指令,以及向第一目标设备发送包括第二设备标识、第二外网地址和目标中转服务器的地址的第六连接指令。
其中,第五连接指令和第六连接指令用于控制第一目标设备和第二目标设备建立基于目标中转服务器和TCP协议的通信连接。
这里,通信协议为基于中转服务器的TCP协议时,上述执行主体可以向第二目标设备发送第五连接指令,以及向第一目标设备发送第六连接指令。这样,第一目标设备和第二目标设备可以根据第五连接指令和第六连接指令,建立通信连接。
在本申请的各个实施例的可选的方式中,在根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议之前,上述通信连接方法还可以包括:
首先,获取第一目标设备的第一设备标识和第二目标设备的第二设备标识。
这里,第一目标设备与服务器进行通信时,服务器可以获取到第一目标设备的第一设备标识。第二目标设备与服务器进行通信时,服务器可以获取到第二目标设备的第二设备标识。
然后,根据第一设备标识和第二设备标识,查询是否有针对第一目标设备以及第二目标设备的通信连接指令。
其中,上述通信连接指令通常是用于触发第一目标设备与第二目标设备建立通信连接的指令。实践中,通信连接指令中通常包括第一目标设备的设备标识和第二目标设备的设备标识。
这里,服务器中可以预先存储针对第一目标设备和第二目标设备的通信连接指令。这样,在第一目标设备与第二目标设备都与服务器建立通信时,服务器可以采用第一目标设备的设备标识和第二目标设备的设备标识,查找到针对第一目标设备和第二目标设备的通信连接指令。
最后,若有,则进行根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议的步骤。
这里,若服务器中存储有针对第一目标设备和第二目标设备的通信连接指令,则服务器可以执行确定第一目标设备与第二目标设备之间的通信协议的步骤,从而实现第一目标设备和第二目标设备建立通信连接。
本实现方式中,可以预先存储针对第一目标设备和第二目标设备的通信连接指令。在第一目标设备和第二目标设备登录服务器时,可以给第一目标设备和第二目标设备建立通信连接。
实施例三
参考图3,为本申请实施例提供的一种通信连接方法的流程示意图,如图3所示的通信连接方法,包括:
步骤301,目标终端发布任务信息到配置服务器。
其中,任务信息包括平板电脑的设备序列号和诊断设备的序列号。
这里,上述目标终端可以是预先设定的终端设备。作为示例,上述目标终端可以是管理员的终端设备,也可以是第一目标设备,还可以是第二目标设备。
任务信息与上述连通信连接指令概念相同。平板电脑为上述第一目标设备,诊断设备为上述第二目标设备,平板电脑的设备序列号为上述第一设备标识,诊断设备的序列号为上述第二设备标识。
步骤302,配置服务器获取平板电脑的序列号、内网IP地址和外网IP地址。
平板电脑连接配置服务器,并把序列号和内网IP地址发送给配置服务器,同时,配置服务器根据连接可知平板电脑的外网IP地址。
这里,平板电脑的内网IP地址为上述第一内网地址,平板电脑的外网IP地址为上述第一外网地址。
步骤303,配置服务器获取诊断设备的序列号、内网IP地址和外网IP地址。
诊断设备连接配置服务器,并把序列号和内网IP地址发送给配置服务器,同时,配置服务器根据连接可知诊断设备的外网IP地址。
这里,诊断设备的内网IP地址为上述第二内网地址,诊断设备的外网IP地址为上述第二外网地址。
步骤304,配置服务器查找对应任务信息。
配置服务器根据序列号,查询是否有对应的任务信息,若无任务信息则直接反馈平板电脑和诊断设备。若有任务信息,则执行步骤305。
这里,配置服务器可以采用所接收的序列号,从预先存储的多个任务信息中进行查找,若查找到包括该序列号的任务信息,则表明有任务信息,若没有查找到,则表明没有任务信息。
步骤305,配置服务器控制平板电脑与诊断设备之间建立TCP连接。
若配置服务器检测到平板电脑和诊断设备上传的两个内网IP地址在同一网段内,则该两个设备处于同一局域网,配置服务器可以把平板电脑的内网IP地址传给诊断设备,把诊断设备的内网IP地址传给平板电脑,以使平板电脑与诊断设备之间建立TCP连接。
步骤306,配置服务器控制平板电脑与诊断设备之间建立UDP连接。
若平板电脑和诊断设备上传的内网IP地址不在同一网段内,则尝试UDP连接。配置服务器可以将平板电脑的外网IP地址传给诊断设备,以及将诊断设备的外网IP地址传给平板电脑,并通知双方通过外网IP地址进行互发UDP信息,如收到对方信息则用UDP进行通信,实现平板电脑与诊断设备之间建立UDP连接。
步骤307,配置服务器控制平板电脑与诊断设备之间建立基于中转服务器的TCP连接。
若尝试多次UDP连接失败,配置服务器则通知平板电脑和诊断设备使用中转服务器方式。配置服务器可以向平板电脑和诊断设备发送中转服务器地址列表。平板电脑和诊断设备获取中转服务器地址列表,并测试自己与各个中转服务器地址间的网络速度,以及将测得的网络速度发送至配置服务器。配置服务器综合排序网络速度,将网络速度列表发送至平板电脑让用户选择使用的中转服务器。
步骤308,通信连接成功后,平板电脑中的车辆诊断应用发送的指令通过这个网络通道传递给诊断设备,诊断设备操作连接的车辆。
实施例四
进一步参考图4,对应于上文实施例的通信连接方法,图4为本申请实施例提供的通信连接装置400的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该装置包括:
信息获取单元401,用于分别获取第一目标设备和第二目标设备的网络配置信息;
协议确定单元402,用于根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议;
连接建立单元403,用于根据通信协议,控制第一目标设备和第二目标设备建立通信连接。
在一些实施例中,信息获取单元401具体用于:获取第一目标设备的第一网络地址,以及获取第二目标设备的第二网络地址;
相应的,协议确定单元402具体用于:根据第一网络地址和第二网络地址,确定第一目标设备与第二目标设备之间的通信协议。
在一些实施例中,第一网络地址包括以下至少一项:第一目标设备所在网络的第一内网地址,第一目标设备所在网络的第一外网地址;第二网络地址包括以下至少一项:第二目标设备所在网络的第二内网地址,第二目标设备所在网络的第二外网地址。
在一些实施例中,协议确定单元402具体还用于:若第一内网地址和第二内网地址指示第一目标设备和第二目标设备处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为TCP协议。
在一些实施例中,协议确定单元402具体还用于:若第一内网地址和第二内网地址指示第一目标设备和第二目标设备不处于同一局域网,则确定第一目标设备与第二目标设备之间的通信协议为UDP协议。
在一些实施例中,协议确定单元402具体还用于:若第一目标设备与第二目标设备以UDP协议通信时,建立通信连接失败,则确定第一目标设备与第二目标设备之间的通信协议为基于中转服务器的TCP协议。
在一些实施例中,装置还可以包括执行判断单元(图中未示出)。其中,执行判断单元可以包括标识获取模块、指令查询模块和条件分析模块。
标识获取模块,用于获取第一目标设备的第一设备标识和第二目标设备的第二设备标识;
指令查询模块,用于根据第一设备标识和第二设备标识,查询是否有针对第一目标设备以及第二目标设备的通信连接指令;
条件分析模块,用于若有,则进行根据获取到的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备与第二目标设备之间的通信协议的步骤。
本实施例提供的装置,根据待连接的第一目标设备和第二目标设备的网络配置信息,确定第一目标设备和第二目标设备之间进行网络通信的通信协议,使得第一目标设备和第二目标设备以所确定的通信协议对应的通信方式进行通信,在第一目标设备或第二目标设备的网络配置信息发生变化时,二者之间的通信方式可以相适应地发生变化,有助于实现第一目标设备和第二目标设备之间灵活通信。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
进一步参考图5,图5为本申请一实施例提供的服务器500的结构示意图。如图5所示,该实施例的服务器500包括:至少一个处理器501(图5中仅示出一个处理器)、存储器502以及存储在存储器502中并可在至少一个处理器501上运行的计算机程序503,例如通信连接程序。处理器501执行计算机程序503时实现上述任意各个方法实施例中的步骤。处理器501执行计算机程序503时实现上述各个通信连接方法的实施例中的步骤。处理器501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能,例如图4所示单元401至403的功能。
示例性的,计算机程序503可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在服务器500中的执行过程。例如,计算机程序503可以被分割成信息获取单元,协议确定单元,连接建立单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。
服务器500可以是服务器、台式电脑、平板电脑、云端服务器和移动终端等计算设备。服务器500可包括,但不仅限于,处理器501,存储器502。本领域技术人员可以理解,图5仅仅是服务器500的示例,并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以是服务器500的内部存储单元,例如服务器500的硬盘或内存。存储器502也可以是服务器500的外部存储设备,例如服务器500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器502还可以既包括服务器500的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及服务器所需的其他程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。