一种穿越防火墙的方法和电子设备的制造方法

文档序号:10555590阅读:254来源:国知局
一种穿越防火墙的方法和电子设备的制造方法
【专利摘要】本发明公开了一种穿越防火墙的方法和电子设备,属于通信技术领域,包括:第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文;TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文;第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文;TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备和第二终端设备;第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求;UDP服务器建立第一终端设备与第二终端设备的数据传输通道。本发明实施例穿越防火墙实现数据传输,提高了数据传输的灵活度、兼容性和耦合度。
【专利说明】
一种穿越防火墙的方法和电子设备
技术领域
[0001]本发明涉及通信技术领域,特别涉及一种穿越防火墙的方法和电子设备。
【背景技术】
[0002]防火墙是一种位于内部网络与外部网络之间的网络安全系统。通过设置防火墙可以限定进出网络的数据包类型和流量,能够极大地提高企业内部网络环境的安全性,并通过过滤不安全的服务而降低风险。
[0003]但是防火墙在保护企业内部网络的同时,也限制了企业内部网络的用户对互联网的各种应用,如一些严格限制的防火墙设置为只允许超文本传输协议(HTTP’HyperTextTransfer Protocol)才能访问外网,导致内网终端与外网终端不能使用协议传输控制协议(TCP,Transmiss1n Control Protocol)和用户数据报协议(UDP,User DatagramProtocol)进行数据传输,进而导致无法运行如视频通讯、语音聊天软件等网络服务,内网终端与外网终端之间无法进行数据传输,存在数据传输的灵活度不高,兼容性差和耦合度差的冋题。

【发明内容】

[0004]为了提高数据传输的灵活度、兼容性和耦合度,本发明实施例提供了一种穿越防火墙的方法和电子设备。所述技术方案如下:
[0005]第一方面,提供了一种穿越防火墙的方法,所述方法包括:
[0006]第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括所述第一终端设备与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文;
[0007]所述TCP服务器根据所述注册请求报文进行注册,并通过所述第一预设协议向所述第一终端设备返回注册确认报文;
[0008]所述第一终端设备通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向第二终端设备转发所述呼叫请求报文;
[0009]所述TCP服务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备;
[0010]所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求;
[0011 ]所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。
[0012]结合第一方面,在第一种可能的实现方式中,所述第一预设协议为HTTP协议,所述第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文包括:
[0013]所述第一终端设备通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transf er-Encoding: chunked字段。
[0014]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述TCP月艮务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备包括:
[0015]所述TCP服务器获取所有可用的UDP服务器的网络参数;
[0016]根据所述网络参数,所述TCP服务器筛选出网络参数最优的UDP服务器;
[0017]所述TCP服务器将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备,其中所述UDP服务器的信息至少包括所述UDP服务器的IP地址和端口号。
[0018]结合第一方面,在第三种可能的实现方式中,所述第二预设协议为HTTP协议,所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求包括:
[0019]所述第一终端设备通过HTTP协议的POST请求向所述UDP服务器发送数据传输通道建立请求,其中所述数据传输通道建立请求包括相关会话参数,所述POST请求的头部包括Transfer-Encoding: chunked 字段。
[0020]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述UDP月艮务器建立所述第一终端设备与所述第二终端设备的数据传输通道包括:
[0021]所述UDP服务器向所述第一终端设备返回与所述数据传输通道建立请求相对应的应答信息;
[0022]所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。
[0023]结合第一方面,在第五种可能的实现方式中,所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道之后,所述方法还包括:
[0024]所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据。
[0025]结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据之前,所述方法还包括:
[0026]所述第一终端设备通过所述第一预设协议从所述TCP服务器中获取所述第二终端设备根据所述呼叫请求报文返回的呼叫响应报文。
[0027]第二方面,提供了一种穿越防火墙的方法,所述方法包括:
[0028]通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
[0029]通过所述第一预设协议从所述TCP服务器获取注册应答报文;
[0030]通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
[0031 ]接收所述TCP服务器发送的UDP服务器的信息;
[0032]通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
[0033]通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
[0034]结合第二方面,在第一种可能的实现方式中,所述第一预设协议为HTTP协议,所述通过第一预设协议向TCP服务器发送第一预设协议报文包括:
[0035]通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transf er-Encoding: chunked字段。
[0036]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通过所述第一预设协议从所述TCP服务器获取注册应答报文包括:
[0037]通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transf er-Encoding: chunked字段。
[0038]结合第二方面,在第三种可能的实现方式中,所述第二预设协议为HTTP协议,所述通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文包括:
[0039]通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transfer-Encoding: chunked 字段。
[0040]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文包括:
[0041 ] 通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transf er-Encoding: chunked字段。
[0042]结合第二方面,在第五种可能的实现方式中,所述通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文之后,所述方法还包括:
[0043]通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
[0044]结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据之前,所述方法还包括:
[0045]通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
[0046]第三方面,提供了一种电子设备,所述电子设备包括:
[0047]第一发送模块,用于通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
[0048]第一接收模块,用于通过所述第一预设协议从所述TCP服务器获取注册应答报文;
[0049]第二发送模块,用于通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
[0050]第二接收模块,用于接收所述TCP服务器发送的UDP服务器的信息;
[0051]第三发送模块,用于通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
[0052]第三接收模块,用于通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
[0053]结合第三方面,在第一种可能的实现方式中,所述第一发送模块具体用于:
[0054]所述第一预设协议为HTTP协议,通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding: chunked字段。
[0055]结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一接收模块具体用于:
[0056]通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transf er-Encoding: chunked字段。
[0057]结合第三方面,在第三种可能的实现方式中,所述第三发送模块具体用于:
[0058]所述第二预设协议为HTTP协议,通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transf er-Encoding: chunked字段。
[0059]结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第三接收模块具体用于:
[0060]通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transf er-Encoding: chunked字段。
[0061]结合第三方面,在第五种可能的实现方式中,所述第三发送模块还具体用于:
[0062]通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
[0063]结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第二接收模块还用于:
[0064]通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
[0065]第四方面,提供了一种电子设备,所述电子设备包括发送/接收模块、存储器以及与所述发送/接收模块、所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0066]控制所述发送/接收模块通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
[0067]控制所述发送/接收模块通过所述第一预设协议从所述TCP服务器获取注册应答报文;
[0068]控制所述发送/接收模块通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
[0069]控制所述发送/接收模块接收所述TCP服务器发送的UDP服务器的信息;
[0070]控制所述发送/接收模块通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
[0071]控制所述发送/接收模块通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
[0072]结合第四方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0073]所述第一预设协议为HTTP协议,控制所述发送/接收模块通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding: chunked 字段。
[0074]结合第四方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0075]控制所述发送/接收模块通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transf er-Encoding: chunked字段。
[0076]结合第四方面,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0077]所述第二预设协议为HTTP协议,控制所述发送/接收模块通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transfer-Encoding: chunked字段。
[0078]结合第四方面的第三种可能的实现方式中,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0079]控制所述发送/接收模块通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transfer-Encoding: chunked 字段。
[0080]结合第四方面,在第五种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0081 ]控制所述发送/接收模块通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
[0082]结合第四方面的第五种可能的实现方式中,在第六种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
[0083]控制所述发送/接收模块通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
[0084]本发明公开了一种穿越防火墙的方法和电子设备,属于通信技术领域,包括:第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文;TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文;第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文;TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备;第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求;UDP服务器建立第一终端设备与第二终端设备的数据传输通道。当防火墙设置为只允许HTTP协议才能访问外网,且防火墙开放http 80和/Shttp 8080端口时,通过TCP服务器根据第一终端设备发送的注册请求进行注册,TCP服务器向第二终端设备转发第一终端设备的呼叫请求报文,以及UDP服务器根据第一终端设备和第一终端设备发送的通道建立请求,建立数据传输通道,使内网终端与外网终端之间能够进行数据传输,实现了穿越防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
【附图说明】
[0085]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0086]图1是本发明实施例提供的一种穿越防火墙的方法流程图;
[0087]图2是本发明实施例提供的一种穿越防火墙的方法流程图;
[0088]图3是本发明实施例提供的一种穿越防火墙的方法流程图;
[0089]图4是本发明实施例提供的一种穿越防火墙的方法流程图;
[0090]图5是本发明实施例提供的一种电子设备结构示意图;
[0091 ]图6是本发明实施例提供的一种电子设备结构示意图。
【具体实施方式】
[0092]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0093]本发明实施例提供了一种穿越防火墙的方法,该方法可以应用于防火墙设置为只允许HTTP协议才能访问外网,且防火墙开放http 80和/Shttp 8080端口的场景,通过本发明的各实施例可以穿越防火墙,实现从内网终端与外网终端的数据传输如视频数据、语音数据、图片数据以及文本数据等的数据传输,除此之外,本发明实施例所述的穿越防火墙的方法还可以应用于其他场景下的数据传输,本发明实施例对具体的场景不加以限定。需要说明的是,作为内网终端的第一终端设备和作为外网终端的第二终端设备在数据传输之前,连接至同一个TCP服务器,该TCP服务器可以是单个TCP服务器,也可以是由多个TCP服务器组成的服务器群,且该TCP服务器群内,多个TCP服务器之间可以共享信息。
[0094]实施例一为本发明实施例提供的一种穿越防火墙的方法,参照图1所示,该方法包括:
[0095]101、第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括第一终端设备与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文。
[0096]具体的,第一预设协议为HTTP协议;
[0097]第一终端设备通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括 Transf er-Encoding: chunked 字段。
[0098]其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。
[0099]102、TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文。
[0100]具体的,该过程可以为:
[0101]第一终端设备向TCP服务器发送HTTP GET请求;
[0102]TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding: chunked字段,该HTTP响应的负载部分包括注册确认报文。
[0103]值得注意的是,当TCP服务器返回的注册确认报文指示注册成功后,才执行步骤103;否则,结束或者返回步骤101。
[0104]103、第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP月艮务器向第二终端设备转发呼叫请求报文。
[0105]具体的,第一终端设备通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,其中,POST请求的头部包括Transfer-Encoding: chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括第一终端设备的地址信息和第二终端设备的地址信息;
[0106]TCP服务器根据呼叫请求报文所包括的第二终端设备的地址信息,将该呼叫请求报文发送至第二终端设备。
[0107]104、TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备和第二终端设备。
[0108]具体的,TCP服务器获取所有可用的UDP服务器的网络参数;
[0109]根据网络参数,TCP服务器筛选出网络参数最优的UDP服务器;
[0110]TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备,其中UDP月艮务器的信息至少包括UDP服务器的IP地址和端口号,该过程可以为:
[0111]当第二终端设备设有防火墙时,第一终端设备和第二终端设备分别向TCP服务器发送HTTP GET请求;
[0112]TCP服务器通过HTTP协议分别向第一终端设备和第二终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transf er-Encoding: chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
[0113]当第二终端设备未设有防火墙时,第一终端设备向TCP服务器发送HTTPGET请求;
[0114]TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding: chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
[0115]TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备。
[0116]105、第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求。
[0117]具体的,第二预设协议为HTTP协议;
[0118]第一终端设备通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,POST请求的头部包括Tran sf er-Encoding: chunked 字段。
[0119]106、UDP服务器建立第一终端设备与第二终端设备的数据传输通道。
[0120]具体的,UDP服务器向第一终端设备返回与数据传输通道建立请求相对应的应答信息,该过程可以为:
[0121]第一终端设备向UDP服务器发送HTTP GET请求;
[0122]UDP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transf er-Encoding: chunked字段,HTTP响应的负载部分包括数据传输通道建立请求相对应的应答信息。
[0123]UDP服务器建立第一终端设备与第二终端设备的数据传输通道。
[0124]107、第一终端设备通过数据传输通道,向第二终端设备发送数据。
[0125]步骤107为可选的步骤。
[0126]可选的,在步骤107之前,本发明实施例所提供的方法还可以包括:
[0127]第一终端设备通过第一预设协议从TCP服务器中获取第二终端设备根据呼叫请求报文返回的呼叫响应报文。
[0128]本发明实施例提供了一种穿越防火墙的方法,在内网的第一终端设备不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http80和/Shttp 8080端口,因此能够使内网的第一终端设备通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使第一终端设备能够成功登录TCP服务器;然后通过第一终端设备的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫第二终端设备的呼叫请求报文,以及根据第一终端设备通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网终端与外网终端之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
[0129]实施例二为本发明实施例提供的一种穿越防火墙的方法,参照图2所示,该方法包括:
[0130]201、通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册。
[0131]具体地,第一预设协议为HTTP协议;
[0132]通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括 Transf er-Encoding: chunked 字段。
[0133]其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。
[0134]202、通过第一预设协议从TCP服务器获取注册应答报文。
[0135]具体的,通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transf er-Encoding: chunked字段,该过程可以为:
[0136]发送HTTP GET请求至TCP服务器;
[0137]接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transf er-Encoding: chunked字段,注册响应的负载部分包括注册是否成功的应答信息。
[0138]值得注意的是,当接收TCP服务器返回注册成功的应答信息后,才执行步骤203;否贝1J,结束或者返回步骤201。
[0139]203、通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文。
[0140]204、接收TCP服务器发送的UDP服务器的信息。
[0141 ] 205、通过第二预设协议向UDP服务器发送数据传输通道建立请求报文。
[0142]具体的,第二预设协议为HTTP协议;
[0143]通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked 字段。
[0144]206、通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
[0145]具体的,通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transf er-Encoding: chunked字段。
[0146]207、通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
[0147]步骤207为可选步骤。
[0148]可选的,在步骤207之前,本发明实施例所提供的方法还可以包括:
[0149]通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
[0150]本发明实施例提供了一种穿越防火墙的方法,当内网的发起方不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http 80和/Shttp 8080端口,因此能够使内网的发起方通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使发起方能够成功登录TCP服务器;然后通过发起方的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及根据发起方通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网的发起方与外网的其他终端设备之间能够进行数据传输,实现穿越防火墙,提高了数据传输的灵活度、兼容性和耦合度
[0151]实施例三为本发明实施例提供的一种穿越防火墙的方法,在本发明实施例中,在第一终端设备向TCP服务器发送呼叫第二终端设备的呼叫请求报文后,TCP服务器分别向第一终端设备和第二终端设备发送UDP服务器的信息,通过第一终端设备和第二终端设备分别向UDP服务器发送数据传输通道建立请求报文,使UDP服务器建立数据传输通道。参照图3所示,该方法包括:
[0152]301、第一终端设备通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,POST请求的头部包括Transfer-Encoding: chunked字段,POST请求的负载部分包括注册请求报文。在步骤301之后,执行步骤302。
[0153]具体的,第一终端设备位于防火墙之后,第一终端设备包括台式计算机、个人计算机、膝上性计算机、手机、个人数字助理等。POST请求的头部包括的Transfer-Encoding:chunked字段,其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。注册请求报文包括第一终端设备的地址信息和身份标识号码信息等,其中,第一终端设备的身份标识号码信息可以是产品类型和产品序列号信息的组合,也可以是其它标识第一终端设备的信息。
[0154]302、TCP服务器根据注册请求报文进行注册,并通过HTTP协议向第一终端设备返回注册确认报文。在步骤302之后,执行步骤303。
[0155]具体的,TCP服务器在接收第一终端设备的注册请求报文后,根据注册请求报文的信息进行验证第一终端设备的身份是否合法,如果第一终端的身份不合法,则TCP服务器不进行注册,并通过HTTP协议向第一终端设备返回用于指示注册失败的注册确认报文,该通过HTTP协议向第一终端设备返回用于指示注册失败的注册确认报文的过程可以为:
[0156]第一终端设备向TCP服务器发送HTTP GET请求;
[0157]TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding: chunked字段,该HTTP响应的负载部分包括用于指示注册失败的注册确认报文。
[0158]本发明实施例对具体的验证过程不加以限定。
[0159]如果第一终端设备的身份合法,则TCP服务器根据注册请求报文进行注册,该注册过程可以是:
[0160]TCP服务器根据注册请求报文,进行查询与该注册请求报文对应的业务数据。如果查询成功,则TCP服务器根据所查询到的业务数据进行注册。
[0161]TCP服务器通过HTTP协议向第一终端设备返回用于指示注册成功的注册确认报文,该过程可以为:
[0162]第一终端设备向TCP服务器发送HTTP GET请求;
[0163]TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding: chunked字段,该HTTP响应的负载部分包括用于指示注册成功的注册确认报文。
[0164]可选的,在实际应用中,若第一终端设备在预设时间内未接收到TCP服务器返回的注册确认报文,则可以重新通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,直至接收到TCP服务器返回的注册确认报文。
[0165]值得注意的是,当TCP服务器返回用于指示注册成功的注册确认报文后,才执行步骤303;否则,结束或者返回步骤301。
[0166]303、第一终端设备通过HTTP协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文。在步骤303之后,执行步骤304。
[0167]具体的,该过程可以为:
[0168]第一终端设备通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,POST请求的头部包括Transfer-Encoding: chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括第一终端设备的地址信息和第二终端设备的地址信息;
[0169]TCP服务器根据呼叫请求报文所包括的第二终端设备的地址信息,将该呼叫请求报文发送至第二终端设备。
[0170]其中,第二终端设备属于外网终端,第二终端设备包括台式计算机、个人计算机、膝上性计算机、手机、个人数字助理等。
[0171]304、TCP服务器获取所有可用的UDP服务器的网络参数。在步骤304之后,执行步骤305。
[0172]具体的,TCP服务器监控所有可用的UDP服务器,获取所有可用的UDP服务器的周期性上报的网络参数,其中网络参数用于描述UDP服务器的数据处理能力。本发明实施例对具体的获取方式不加以限定。
[0173]305、根据网络参数,TCP服务器筛选出网络参数最优的UDP服务器。在步骤305之后,执彳丁步骤306。
[0174]具体的,本发明实施例对具体的筛选过程不加以限定。
[0175]306、TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备,其中UDP服务器的信息至少包括UDP服务器的IP地址和端口号。在步骤306之后,执行步骤307。
[0176]具体的,该过程可以为:
[0177]当第二终端设备设有防火墙时,第一终端设备和第二终端设备分别向TCP服务器发送HTTP GET请求;
[0178]TCP服务器通过HTTP协议分别向第一终端设备和第二终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transf er-Encoding: chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
[0179]当第二终端设备未设有防火墙时,第一终端设备向TCP服务器发送HTTPGET请求;
[0180]TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding: chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
[0181]TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备。
[0182]值得注意的是,步骤304至步骤306是实现TCP服务器向第一终端设备和第二终端设备发送UDP服务器的信息的过程,除了步骤的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
[0183]307、第一终端设备通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,POST请求的头部包括Transf er-Encoding: chunked 字段。 在步骤 307之后 ,执行步骤 308。
[0184]具体的,第一终端设备根据UDP服务器的IP地址和端口号通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,该相关会话参数包括房间号(room ID)和第一终端设备的用户ID,该POST请求的头部包括Transf er-Encoding: chunked字段。本发明实施例对具体的发送过程不加以限定。
[0185]308、UDP服务器向第一终端设备返回与数据传输通道建立请求相对应的应答信息。在步骤308之后,执行步骤309。
[0186]具体的,UDP服务器通过HTTP协议向第一终端设备返回HTTP响应,其消息头部包括Transfer-Encoding: chunked字段,并在其中携带与数据传输通道建立请求相对应的应答信息,该过程可以为:
[0187]第一终端设备向UDP服务器发送HTTP GET请求;
[0188]UDP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transf er-Encoding: chunked字段,HTTP响应的负载部分包括数据传输通道建立请求相对应的应答信息。
[0189]上述实现过程仅仅是示例性的,本发明实施例对具体的实现过程不加以限定。
[0190]309、UDP服务器建立第一终端设备与第二终端设备的数据传输通道。在步骤309之后,执彳T步骤310。
[0191]具体的,UDP服务器分别根据第一终端设备的相关会话参数和第二终端设备的相关会话参数地址消息,建立第一终端设备与第二终端设备的数据传输通道。
[0192]本发明实施例对具体的建立方式不加以限定。
[0193]310、第一终端设备通过HTTP协议从TCP服务器中获取第二终端设备根据呼叫请求报文返回的呼叫响应报文。在步骤310之后,执行步骤311。
[0194]具体的,该呼叫响应报文用于指示第二终端设备同意第一终端设备的数据传输请求,并指示第一终端设备可以通过数据传输通道,向第二终端设备传输数据。本发明实施例对具体的获取方式不加以限定。
[0195]311、第一终端设备通过数据传输通道,向第二终端设备发送数据。
[0196]具体的,本发明实施例对具体的发送过程不加以限定。
[0197]值得注意的是,步骤310和步骤311是可选步骤。
[0198]本发明实施例提供了一种穿越防火墙的方法,当向第二终端设备发起视频请求的第一终端设备不能成功登录TCP服务器时,由于TCP服务器允许HTTP协议报文通过,且开放了http 80和/Shttp 8080端口,因此第一终端设备能够将注册请求封装成HTTP协议报文向TCP服务器请求进行注册,以及第一终端设备能够将呼叫第二终端设备的呼叫请求报文封装成HTTP协议报文发送给TCP服务器,以及第一终端设备和第二终端设备通过接收TCP月艮务器的信息分别向UDP服务器发送数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使位于内网的第一终端设备和位于外网的第二终端设备的之间能够进行数据传输,从而实现穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦入畔I=I /又 O
[0199]实施例四为本发明实施例提供的一种穿越防火墙的方法,在本发明实施例中,发起方与TCP服务器进行交互,以及发起方与UDP服务器进行交互,通过UDP服务器建立的数据传输通道进行数据传输。参照图4所示,该方法包括:
[0200]401、通过HTTP协议中的POST请求向TCP服务器发送HTTP报文,该POST请求的头部包括Transfer-Encoding: chunked字段,该HTTP报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册。在步骤401之后,执行步骤402。
[0201 ] 具体的,P0ST请求的头部包括的Transfer-Encoding: chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。注册请求报文包括发起方的地址信息和身份标识号码信息等,其中,发起方的身份标识号码信息可以是产品类型和产品序列号信息的组合,也可以是其它标识发起方的信息。
[0202]402、通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transf er-Encoding: chunked字段。在步骤402之后,执行步骤403。
[0203]具体的,TCP服务器在接收注册请求报文后,根据注册请求报文的信息进行验证发起方的身份是否合法,本发明实施例对具体的验证过程不加以限定。
[0204]如果发起方的身份不合法,则TCP服务器不进行注册。通过HTTP协议中的GET请求从TCP服务器中获取用于指示注册失败的注册应答报文,注册应答报文的头部包括Transfer-Encoding: chunked 字段,该过程可以为:
[0205]发送HTTP GET请求至TCP服务器;
[0206]接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transf er-Encoding: chunked字段,注册响应的负载部分包括用于指示注册失败的注册应答报文。
[0207]如果发起方的身份合法,则TCP服务器根据注册请求报文进行注册,该注册过程可以是:
[0208]TCP服务器根据注册请求报文,进行查询与该注册请求报文对应的业务数据。如果查询成功,则TCP服务器根据所查询到的业务数据进行注册。
[0209]通过HTTP协议中的GET请求从TCP服务器中获取用于指示注册成功的注册应答报文,注册应答报文的头部包括Transf er-Encoding: chunked字段,该过程可以为:
[0210]发送HTTP GET请求至TCP服务器;
[0211]接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transf er-Encoding: chunked字段,注册响应的负载部分包括用于指示注册成功的注册应答报文。
[0212]可选的,在实际应用中,若在预设时间内未接收到TCP服务器返回的注册确认报文,则可以重新通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,以及向TCP月艮务器发送HTTP协议中的GET请求,直至接收到TCP服务器返回的注册确认报文。
[0213]值得注意的是,当接收TCP服务器返回用于指示注册成功的注册应答报文后,才执行步骤403;否则,结束或者返回步骤401。
[0214]403、通过HTTP协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文。在步骤403之后,执行步骤404。
[0215]具体的,其他终端设备属于外网终端,其他终端设备包括台式计算机、个人计算机、膝上型计算机、手机、个人数字助理等。通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,POST请求的头部包括Transf er-Encoding: chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括发起方的地址信息和其他终端设备的地址信息等。
[0216]404、接收TCP服务器发送的UDP服务器的信息。在步骤404之后,执行步骤405。
[0217]具体的,通过HTTP协议接收TCP服务器发送的UDP服务器的信息,该UDP服务器是网络参数最优的UDP服务器,其中网络参数用于描述UDP服务器的数据处理能力,该UDP服务器的信息至少包括UDP服务器的IP地址和端口号。本发明实施例对具体的接收方式不加以限定。
[0218]405、通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transf er-Encoding: chunked 字段。 在步骤 405 之后 ,执行步骤 406。
[0219]具体的,根据UDP服务器的IP地址和端口号通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,该相关会话参数包括房间号(room ID)和发起方的用户ID,该POST请求的头部包括Transfer-Encoding: chunked字段。本发明实施例对具体的发送过程不加以限定。
[0220]406、通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transfer-Encoding: chunked字段。在步骤406之后,执行步骤407。
[0221 ]具体的,数据传输通道建立应答报文用于指示UDP服务器建立数据传输通道。本发明实施例对具体的获取过程不加以限定。
[0222]407、通过HTTP协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。在步骤407之后,执行步骤408。
[0223]具体的,该呼叫响应报文用于指示其他终端设备同意发起方的数据传输请求,并指示发起方可以通过数据传输通道,向其他终端设备传输数据。本发明实施例对具体的获取方式不加以限定。
[0224]408、通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
[0225]具体的,本发明实施例对具体的发送过程不加以限定。
[0226]值得注意的是,步骤407至步骤408是可选步骤。
[0227]本发明实施例提供了一种穿越防火墙的方法,当内网的发起方不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http 80和/Shttp 8080端口,因此能够使内网的发起方通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使发起方能够成功登录TCP服务器;然后通过发起方的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及根据发起方通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网发起方与外网其他终端设备之间能够进行数据传输,实现穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦入畔I=I /又 O
[0228]实施例五为本发明实施例提供的一种电子设备,参照图5所不,该电子设备包括:
[0229]第一发送模块501,用于通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册;
[0230]第一接收模块502,用于通过第一预设协议从TCP服务器获取注册应答报文;
[0231]第二发送模块503,用于通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文;
[0232]第二接收模块504,用于接收TCP服务器发送的UDP服务器的信息;
[0233]第三发送模块505,用于通过第二预设协议向UDP服务器发送数据传输通道建立请求报文;
[0234]第三接收模块506,用于通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
[0235]可选的,第一发送模块501具体用于:
[0236]第一预设协议为HTTP协议,通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding: chunked字段。
[0237]可选的,第一接收模块502具体用于:
[0238]通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括 Transf er-Encoding: chunked 字段。
[0239]可选的,第三发送模块505具体用于:
[0240]第二预设协议为HTTP协议,通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括 Transf er-Encoding: chunked 字段。
[0241 ]可选的,第三接收模块506具体用于:
[0242]通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transf er-Encoding: chunked字段。
[0243]可选的,第三发送模块505还具体用于通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
[0244]可选的,第二接收模块504还用于通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
[0245]本发明实施例提供了一种电子设备,该电子设备将注册请求进行封装为HTTP协议向TCP服务器进行注册,以便能够成功登录TCP服务器;然后该电子设备向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及通过获取TCP服务器发送的UDP服务器的信息,向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使该电子设备与外网其他终端设备之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
[0246]实施例六为本发明实施例提供的一种电子设备,参照图6所示,该电子设备包括发送/接收模块61、存储器62以及与发送/接收模块61、存储器62连接的处理器63,其中,存储器62用于存储一组程序代码,处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0247]控制发送/接收模块61通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册;
[0248]控制发送/接收模块61通过第一预设协议从TCP服务器获取注册应答报文;
[0249]控制发送/接收模块61通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文;
[0250]控制发送/接收模块61接收TCP服务器发送的UDP服务器的信息;
[0251]控制发送/接收模块61通过第二预设协议向UDP服务器发送数据传输通道建立请求报文;
[0252]控制发送/接收模块61通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
[0253]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0254]第一预设协议为HTTP协议,控制发送/接收模块61通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding: chunked字段。
[0255]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0256]控制发送/接收模块61通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transf er-Encoding: chunked字段。
[0257]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0258]第二预设协议为HTTP协议,控制发送/接收模块61通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括 Transf er-Encoding: chunked 字段。
[0259]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0260]控制发送/接收模块61通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transf er-Encoding: chunked字段。
[0261]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0262]控制发送/接收模块61通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
[0263]可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
[0264]控制发送/接收模块61通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
[0265]本发明实施例提供了一种电子设备,该电子设备将注册请求进行封装为HTTP协议向TCP服务器进行注册,以便能够成功登录TCP服务器;然后该电子设备向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及通过获取TCP服务器发送的UDP服务器的信息,向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使该电子设备与外网其他终端设备之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
[0266]上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,此处不再--赘述。
[0267]需要说明的是:上述实施例提供的电子设备在执行穿越防火墙的方法时,仅以上述各功能设备的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能设备完成,即将设备的内部结构划分成不同的功能设备,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与穿越防火墙的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0268]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0269]以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种穿越防火墙的方法,其特征在于,所述方法包括: 第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括所述第一终端设备与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文; 所述TCP服务器根据所述注册请求报文进行注册,并通过所述第一预设协议向所述第一终端设备返回注册确认报文; 所述第一终端设备通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向第二终端设备转发所述呼叫请求报文; 所述TCP服务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备; 所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求; 所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。2.根据权利要求1所述的方法,其特征在于,所述第一预设协议为HTTP协议,所述第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文包括: 所述第一终端设备通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding: chunked字段。3.根据权利要求2所述的方法,其特征在于,所述TCP服务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备包括: 所述TCP服务器获取所有可用的UDP服务器的网络参数; 根据所述网络参数,所述TCP服务器筛选出网络参数最优的UDP服务器; 所述TCP服务器将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备,其中所述UDP服务器的信息至少包括所述UDP服务器的IP地址和端口号。4.根据权利要求1所述的方法,其特征在于,所述第二预设协议为HTTP协议,所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求包括: 所述第一终端设备通过HTTP协议的POST请求向所述UDP服务器发送数据传输通道建立请求,其中所述数据传输通道建立请求包括相关会话参数,所述POST请求的头部包括Transfer-Encoding: chunked 字段。5.根据权利要求4所述的方法,其特征在于,所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道包括: 所述UDP服务器向所述第一终端设备返回与所述数据传输通道建立请求相对应的应答信息; 所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。6.根据权利要求1所述的方法,其特征在于,所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道之后,所述方法还包括: 所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据。7.根据权利要求6所述的方法,其特征在于,所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据之前,所述方法还包括: 所述第一终端设备通过所述第一预设协议从所述TCP服务器中获取所述第二终端设备根据所述呼叫请求报文返回的呼叫响应报文。8.一种穿越防火墙的方法,其特征在于,所述方法包括: 通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册; 通过所述第一预设协议从所述TCP服务器获取注册应答报文; 通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文; 接收所述TCP服务器发送的UDP服务器的信息; 通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文; 通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。9.根据权利要求8所述的方法,其特征在于,所述第一预设协议为HTTP协议,所述通过第一预设协议向TCP服务器发送第一预设协议报文包括: 通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括 Transfer-Encoding: chunked 字段。10.根据权利要求9所述的方法,其特征在于,所述通过所述第一预设协议从所述TCP月艮务器获取注册应答报文包括: 通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transf er-Encoding: chunked字段。
【文档编号】H04L29/06GK105915534SQ201610345559
【公开日】2016年8月31日
【申请日】2016年5月23日
【发明人】杨柳
【申请人】掌赢信息科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1