CN105915534A - 一种穿越防火墙的方法和电子设备 - Google Patents

一种穿越防火墙的方法和电子设备 Download PDF

Info

Publication number
CN105915534A
CN105915534A CN201610345559.7A CN201610345559A CN105915534A CN 105915534 A CN105915534 A CN 105915534A CN 201610345559 A CN201610345559 A CN 201610345559A CN 105915534 A CN105915534 A CN 105915534A
Authority
CN
China
Prior art keywords
server
message
terminal equipment
preset protocol
tcp server
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.)
Granted
Application number
CN201610345559.7A
Other languages
English (en)
Other versions
CN105915534B (zh
Inventor
杨柳
Original Assignee
Zhang Ying Information Technology (shanghai) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhang Ying Information Technology (shanghai) Co Ltd filed Critical Zhang Ying Information Technology (shanghai) Co Ltd
Priority to CN201610345559.7A priority Critical patent/CN105915534B/zh
Publication of CN105915534A publication Critical patent/CN105915534A/zh
Application granted granted Critical
Publication of CN105915534B publication Critical patent/CN105915534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种穿越防火墙的方法和电子设备,属于通信技术领域,包括:第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文;TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文;第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文;TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备和第二终端设备;第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求;UDP服务器建立第一终端设备与第二终端设备的数据传输通道。本发明实施例穿越防火墙实现数据传输,提高了数据传输的灵活度、兼容性和耦合度。

Description

一种穿越防火墙的方法和电子设备
技术领域
本发明涉及通信技术领域,特别涉及一种穿越防火墙的方法和电子设备。
背景技术
防火墙是一种位于内部网络与外部网络之间的网络安全系统。通过设置防火墙可以限定进出网络的数据包类型和流量,能够极大地提高企业内部网络环境的安全性,并通过过滤不安全的服务而降低风险。
但是防火墙在保护企业内部网络的同时,也限制了企业内部网络的用户对互联网的各种应用,如一些严格限制的防火墙设置为只允许超文本传输协议(HTTP,HyperText Transfer Protocol)才能访问外网,导致内网终端与外网终端不能使用协议传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)进行数据传输,进而导致无法运行如视频通讯、语音聊天软件等网络服务,内网终端与外网终端之间无法进行数据传输,存在数据传输的灵活度不高,兼容性差和耦合度差的问题。
发明内容
为了提高数据传输的灵活度、兼容性和耦合度,本发明实施例提供了一种穿越防火墙的方法和电子设备。所述技术方案如下:
第一方面,提供了一种穿越防火墙的方法,所述方法包括:
第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括所述第一终端设备与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文;
所述TCP服务器根据所述注册请求报文进行注册,并通过所述第一预设协议向所述第一终端设备返回注册确认报文;
所述第一终端设备通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向第二终端设备转发所述呼叫请求报文;
所述TCP服务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备;
所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求;
所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。
结合第一方面,在第一种可能的实现方式中,所述第一预设协议为HTTP协议,所述第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文包括:
所述第一终端设备通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述TCP服务器获取UDP服务器,并将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备包括:
所述TCP服务器获取所有可用的UDP服务器的网络参数;
根据所述网络参数,所述TCP服务器筛选出网络参数最优的UDP服务器;
所述TCP服务器将所述UDP服务器的信息发送至所述第一终端设备和所述第二终端设备,其中所述UDP服务器的信息至少包括所述UDP服务器的IP地址和端口号。
结合第一方面,在第三种可能的实现方式中,所述第二预设协议为HTTP协议,所述第一终端设备通过第二预设协议向所述UDP服务器发送数据传输通道建立请求包括:
所述第一终端设备通过HTTP协议的POST请求向所述UDP服务器发送数据传输通道建立请求,其中所述数据传输通道建立请求包括相关会话参数,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道包括:
所述UDP服务器向所述第一终端设备返回与所述数据传输通道建立请求相对应的应答信息;
所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道。
结合第一方面,在第五种可能的实现方式中,所述UDP服务器建立所述第一终端设备与所述第二终端设备的数据传输通道之后,所述方法还包括:
所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一终端设备通过所述数据传输通道,向所述第二终端设备发送数据之前,所述方法还包括:
所述第一终端设备通过所述第一预设协议从所述TCP服务器中获取所述第二终端设备根据所述呼叫请求报文返回的呼叫响应报文。
第二方面,提供了一种穿越防火墙的方法,所述方法包括:
通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
通过所述第一预设协议从所述TCP服务器获取注册应答报文;
通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
接收所述TCP服务器发送的UDP服务器的信息;
通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
结合第二方面,在第一种可能的实现方式中,所述第一预设协议为HTTP协议,所述通过第一预设协议向TCP服务器发送第一预设协议报文包括:
通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述通过所述第一预设协议从所述TCP服务器获取注册应答报文包括:
通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transfer-Encoding:chunked字段。
结合第二方面,在第三种可能的实现方式中,所述第二预设协议为HTTP协议,所述通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文包括:
通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文包括:
通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
结合第二方面,在第五种可能的实现方式中,所述通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文之后,所述方法还包括:
通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据之前,所述方法还包括:
通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
第三方面,提供了一种电子设备,所述电子设备包括:
第一发送模块,用于通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
第一接收模块,用于通过所述第一预设协议从所述TCP服务器获取注册应答报文;
第二发送模块,用于通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
第二接收模块,用于接收所述TCP服务器发送的UDP服务器的信息;
第三发送模块,用于通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
第三接收模块,用于通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
结合第三方面,在第一种可能的实现方式中,所述第一发送模块具体用于:
所述第一预设协议为HTTP协议,通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一接收模块具体用于:
通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transfer-Encoding:chunked字段。
结合第三方面,在第三种可能的实现方式中,所述第三发送模块具体用于:
所述第二预设协议为HTTP协议,通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第三接收模块具体用于:
通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
结合第三方面,在第五种可能的实现方式中,所述第三发送模块还具体用于:
通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第二接收模块还用于:
通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
第四方面,提供了一种电子设备,所述电子设备包括发送/接收模块、存储器以及与所述发送/接收模块、所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
控制所述发送/接收模块通过第一预设协议向TCP服务器发送第一预设协议报文,所述第一预设协议报文的头部包括与所述TCP服务器保持连接的字段,所述第一预设协议报文的负载部分包括注册请求报文,以使所述TCP服务器根据所述注册请求报文进行注册;
控制所述发送/接收模块通过所述第一预设协议从所述TCP服务器获取注册应答报文;
控制所述发送/接收模块通过所述第一预设协议向所述TCP服务器发送呼叫请求报文,以使所述TCP服务器向其他终端设备转发所述呼叫请求报文;
控制所述发送/接收模块接收所述TCP服务器发送的UDP服务器的信息;
控制所述发送/接收模块通过第二预设协议向所述UDP服务器发送数据传输通道建立请求报文;
控制所述发送/接收模块通过所述第二预设协议从所述UDP服务器获取数据传输通道建立应答报文。
结合第四方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
所述第一预设协议为HTTP协议,控制所述发送/接收模块通过所述HTTP协议中的POST请求向所述TCP服务器发送所述第一预设协议报文,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第四方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
控制所述发送/接收模块通过所述HTTP协议中的GET请求从所述TCP服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transfer-Encoding:chunked字段。
结合第四方面,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
所述第二预设协议为HTTP协议,控制所述发送/接收模块通过所述HTTP协议的POST请求向所述UDP服务器发送所述数据传输通道建立请求报文,其中所述数据传输通道建立请求报文包括相关会话参数,所述POST请求的头部包括Transfer-Encoding:chunked字段。
结合第四方面的第三种可能的实现方式中,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
控制所述发送/接收模块通过所述HTTP协议中的GET请求从所述UDP服务器获取数据传输通道建立应答报文,所述数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
结合第四方面,在第五种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
控制所述发送/接收模块通过UDP服务器建立的数据传输通道,向所述其他终端设备发送数据。
结合第四方面的第五种可能的实现方式中,在第六种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:
控制所述发送/接收模块通过所述第一预设协议从所述TCP服务器中获取所述其他终端设备根据所述呼叫请求报文返回的呼叫响应报文。
本发明公开了一种穿越防火墙的方法和电子设备,属于通信技术领域,包括:第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文;TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文;第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文;TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备;第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求;UDP服务器建立第一终端设备与第二终端设备的数据传输通道。当防火墙设置为只允许HTTP协议才能访问外网,且防火墙开放http 80和/或http 8080端口时,通过TCP服务器根据第一终端设备发送的注册请求进行注册,TCP服务器向第二终端设备转发第一终端设备的呼叫请求报文,以及UDP服务器根据第一终端设备和第一终端设备发送的通道建立请求,建立数据传输通道,使内网终端与外网终端之间能够进行数据传输,实现了穿越防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种穿越防火墙的方法流程图;
图2是本发明实施例提供的一种穿越防火墙的方法流程图;
图3是本发明实施例提供的一种穿越防火墙的方法流程图;
图4是本发明实施例提供的一种穿越防火墙的方法流程图;
图5是本发明实施例提供的一种电子设备结构示意图;
图6是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种穿越防火墙的方法,该方法可以应用于防火墙设置为只允许HTTP协议才能访问外网,且防火墙开放http 80和/或http 8080端口的场景,通过本发明的各实施例可以穿越防火墙,实现从内网终端与外网终端的数据传输如视频数据、语音数据、图片数据以及文本数据等的数据传输,除此之外,本发明实施例所述的穿越防火墙的方法还可以应用于其他场景下的数据传输,本发明实施例对具体的场景不加以限定。需要说明的是,作为内网终端的第一终端设备和作为外网终端的第二终端设备在数据传输之前,连接至同一个TCP服务器,该TCP服务器可以是单个TCP服务器,也可以是由多个TCP服务器组成的服务器群,且该TCP服务器群内,多个TCP服务器之间可以共享信息。
实施例一为本发明实施例提供的一种穿越防火墙的方法,参照图1所示,该方法包括:
101、第一终端设备通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括第一终端设备与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文。
具体的,第一预设协议为HTTP协议;
第一终端设备通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding:chunked字段。
其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。
102、TCP服务器根据注册请求报文进行注册,并通过第一预设协议向第一终端设备返回注册确认报文。
具体的,该过程可以为:
第一终端设备向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding:chunked字段,该HTTP响应的负载部分包括注册确认报文。
值得注意的是,当TCP服务器返回的注册确认报文指示注册成功后,才执行步骤103;否则,结束或者返回步骤101。
103、第一终端设备通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文。
具体的,第一终端设备通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,其中,POST请求的头部包括Transfer-Encoding:chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括第一终端设备的地址信息和第二终端设备的地址信息;
TCP服务器根据呼叫请求报文所包括的第二终端设备的地址信息,将该呼叫请求报文发送至第二终端设备。
104、TCP服务器获取UDP服务器,并将UDP服务器的信息发送至第一终端设备和第二终端设备。
具体的,TCP服务器获取所有可用的UDP服务器的网络参数;
根据网络参数,TCP服务器筛选出网络参数最优的UDP服务器;
TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备,其中UDP服务器的信息至少包括UDP服务器的IP地址和端口号,该过程可以为:
当第二终端设备设有防火墙时,第一终端设备和第二终端设备分别向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议分别向第一终端设备和第二终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
当第二终端设备未设有防火墙时,第一终端设备向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备。
105、第一终端设备通过第二预设协议向UDP服务器发送数据传输通道建立请求。
具体的,第二预设协议为HTTP协议;
第一终端设备通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。
106、UDP服务器建立第一终端设备与第二终端设备的数据传输通道。
具体的,UDP服务器向第一终端设备返回与数据传输通道建立请求相对应的应答信息,该过程可以为:
第一终端设备向UDP服务器发送HTTP GET请求;
UDP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括数据传输通道建立请求相对应的应答信息。
UDP服务器建立第一终端设备与第二终端设备的数据传输通道。
107、第一终端设备通过数据传输通道,向第二终端设备发送数据。
步骤107为可选的步骤。
可选的,在步骤107之前,本发明实施例所提供的方法还可以包括:
第一终端设备通过第一预设协议从TCP服务器中获取第二终端设备根据呼叫请求报文返回的呼叫响应报文。
本发明实施例提供了一种穿越防火墙的方法,在内网的第一终端设备不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http80和/或http 8080端口,因此能够使内网的第一终端设备通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使第一终端设备能够成功登录TCP服务器;然后通过第一终端设备的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫第二终端设备的呼叫请求报文,以及根据第一终端设备通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网终端与外网终端之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
实施例二为本发明实施例提供的一种穿越防火墙的方法,参照图2所示,该方法包括:
201、通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册。
具体地,第一预设协议为HTTP协议;
通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding:chunked字段。
其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。
202、通过第一预设协议从TCP服务器获取注册应答报文。
具体的,通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段,该过程可以为:
发送HTTP GET请求至TCP服务器;
接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transfer-Encoding:chunked字段,注册响应的负载部分包括注册是否成功的应答信息。
值得注意的是,当接收TCP服务器返回注册成功的应答信息后,才执行步骤203;否则,结束或者返回步骤201。
203、通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文。
204、接收TCP服务器发送的UDP服务器的信息。
205、通过第二预设协议向UDP服务器发送数据传输通道建立请求报文。
具体的,第二预设协议为HTTP协议;
通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。
206、通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
具体的,通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
207、通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
步骤207为可选步骤。
可选的,在步骤207之前,本发明实施例所提供的方法还可以包括:
通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
本发明实施例提供了一种穿越防火墙的方法,当内网的发起方不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http 80和/或http 8080端口,因此能够使内网的发起方通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使发起方能够成功登录TCP服务器;然后通过发起方的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及根据发起方通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网的发起方与外网的其他终端设备之间能够进行数据传输,实现穿越防火墙,提高了数据传输的灵活度、兼容性和耦合度
实施例三为本发明实施例提供的一种穿越防火墙的方法,在本发明实施例中,在第一终端设备向TCP服务器发送呼叫第二终端设备的呼叫请求报文后,TCP服务器分别向第一终端设备和第二终端设备发送UDP服务器的信息,通过第一终端设备和第二终端设备分别向UDP服务器发送数据传输通道建立请求报文,使UDP服务器建立数据传输通道。参照图3所示,该方法包括:
301、第一终端设备通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,POST请求的头部包括Transfer-Encoding:chunked字段,POST请求的负载部分包括注册请求报文。在步骤301之后,执行步骤302。
具体的,第一终端设备位于防火墙之后,第一终端设备包括台式计算机、个人计算机、膝上性计算机、手机、个人数字助理等。POST请求的头部包括的Transfer-Encoding:chunked字段,其中,Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。注册请求报文包括第一终端设备的地址信息和身份标识号码信息等,其中,第一终端设备的身份标识号码信息可以是产品类型和产品序列号信息的组合,也可以是其它标识第一终端设备的信息。
302、TCP服务器根据注册请求报文进行注册,并通过HTTP协议向第一终端设备返回注册确认报文。在步骤302之后,执行步骤303。
具体的,TCP服务器在接收第一终端设备的注册请求报文后,根据注册请求报文的信息进行验证第一终端设备的身份是否合法,如果第一终端的身份不合法,则TCP服务器不进行注册,并通过HTTP协议向第一终端设备返回用于指示注册失败的注册确认报文,该通过HTTP协议向第一终端设备返回用于指示注册失败的注册确认报文的过程可以为:
第一终端设备向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding:chunked字段,该HTTP响应的负载部分包括用于指示注册失败的注册确认报文。
本发明实施例对具体的验证过程不加以限定。
如果第一终端设备的身份合法,则TCP服务器根据注册请求报文进行注册,该注册过程可以是:
TCP服务器根据注册请求报文,进行查询与该注册请求报文对应的业务数据。如果查询成功,则TCP服务器根据所查询到的业务数据进行注册。
TCP服务器通过HTTP协议向第一终端设备返回用于指示注册成功的注册确认报文,该过程可以为:
第一终端设备向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中,该HTTP响应的头部包括Transfer-Encoding:chunked字段,该HTTP响应的负载部分包括用于指示注册成功的注册确认报文。
可选的,在实际应用中,若第一终端设备在预设时间内未接收到TCP服务器返回的注册确认报文,则可以重新通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,直至接收到TCP服务器返回的注册确认报文。
值得注意的是,当TCP服务器返回用于指示注册成功的注册确认报文后,才执行步骤303;否则,结束或者返回步骤301。
303、第一终端设备通过HTTP协议向TCP服务器发送呼叫请求报文,以使TCP服务器向第二终端设备转发呼叫请求报文。在步骤303之后,执行步骤304。
具体的,该过程可以为:
第一终端设备通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,POST请求的头部包括Transfer-Encoding:chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括第一终端设备的地址信息和第二终端设备的地址信息;
TCP服务器根据呼叫请求报文所包括的第二终端设备的地址信息,将该呼叫请求报文发送至第二终端设备。
其中,第二终端设备属于外网终端,第二终端设备包括台式计算机、个人计算机、膝上性计算机、手机、个人数字助理等。
304、TCP服务器获取所有可用的UDP服务器的网络参数。在步骤304之后,执行步骤305。
具体的,TCP服务器监控所有可用的UDP服务器,获取所有可用的UDP服务器的周期性上报的网络参数,其中网络参数用于描述UDP服务器的数据处理能力。本发明实施例对具体的获取方式不加以限定。
305、根据网络参数,TCP服务器筛选出网络参数最优的UDP服务器。在步骤305之后,执行步骤306。
具体的,本发明实施例对具体的筛选过程不加以限定。
306、TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备,其中UDP服务器的信息至少包括UDP服务器的IP地址和端口号。在步骤306之后,执行步骤307。
具体的,该过程可以为:
当第二终端设备设有防火墙时,第一终端设备和第二终端设备分别向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议分别向第一终端设备和第二终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
当第二终端设备未设有防火墙时,第一终端设备向TCP服务器发送HTTP GET请求;
TCP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括UDP服务器的信息。
TCP服务器将UDP服务器的信息发送至第一终端设备和第二终端设备。
值得注意的是,步骤304至步骤306是实现TCP服务器向第一终端设备和第二终端设备发送UDP服务器的信息的过程,除了步骤的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
307、第一终端设备通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。在步骤307之后,执行步骤308。
具体的,第一终端设备根据UDP服务器的IP地址和端口号通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,该相关会话参数包括房间号(room ID)和第一终端设备的用户ID,该POST请求的头部包括Transfer-Encoding:chunked字段。本发明实施例对具体的发送过程不加以限定。
308、UDP服务器向第一终端设备返回与数据传输通道建立请求相对应的应答信息。在步骤308之后,执行步骤309。
具体的,UDP服务器通过HTTP协议向第一终端设备返回HTTP响应,其消息头部包括Transfer-Encoding:chunked字段,并在其中携带与数据传输通道建立请求相对应的应答信息,该过程可以为:
第一终端设备向UDP服务器发送HTTP GET请求;
UDP服务器通过HTTP协议向第一终端设备返回针对HTTP GET请求的HTTP响应,其中该HTTP响应的头部包括Transfer-Encoding:chunked字段,HTTP响应的负载部分包括数据传输通道建立请求相对应的应答信息。
上述实现过程仅仅是示例性的,本发明实施例对具体的实现过程不加以限定。
309、UDP服务器建立第一终端设备与第二终端设备的数据传输通道。在步骤309之后,执行步骤310。
具体的,UDP服务器分别根据第一终端设备的相关会话参数和第二终端设备的相关会话参数地址消息,建立第一终端设备与第二终端设备的数据传输通道。
本发明实施例对具体的建立方式不加以限定。
310、第一终端设备通过HTTP协议从TCP服务器中获取第二终端设备根据呼叫请求报文返回的呼叫响应报文。在步骤310之后,执行步骤311。
具体的,该呼叫响应报文用于指示第二终端设备同意第一终端设备的数据传输请求,并指示第一终端设备可以通过数据传输通道,向第二终端设备传输数据。本发明实施例对具体的获取方式不加以限定。
311、第一终端设备通过数据传输通道,向第二终端设备发送数据。
具体的,本发明实施例对具体的发送过程不加以限定。
值得注意的是,步骤310和步骤311是可选步骤。
本发明实施例提供了一种穿越防火墙的方法,当向第二终端设备发起视频请求的第一终端设备不能成功登录TCP服务器时,由于TCP服务器允许HTTP协议报文通过,且开放了http 80和/或http 8080端口,因此第一终端设备能够将注册请求封装成HTTP协议报文向TCP服务器请求进行注册,以及第一终端设备能够将呼叫第二终端设备的呼叫请求报文封装成HTTP协议报文发送给TCP服务器,以及第一终端设备和第二终端设备通过接收TCP服务器的信息分别向UDP服务器发送数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使位于内网的第一终端设备和位于外网的第二终端设备的之间能够进行数据传输,从而实现穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
实施例四为本发明实施例提供的一种穿越防火墙的方法,在本发明实施例中,发起方与TCP服务器进行交互,以及发起方与UDP服务器进行交互,通过UDP服务器建立的数据传输通道进行数据传输。参照图4所示,该方法包括:
401、通过HTTP协议中的POST请求向TCP服务器发送HTTP报文,该POST请求的头部包括Transfer-Encoding:chunked字段,该HTTP报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册。在步骤401之后,执行步骤402。
具体的,POST请求的头部包括的Transfer-Encoding:chunked字段是HTTP协议中的一种数据传输机制,允许HTTP协议中的数据可以分成多个部分,通过将数据分解成一系列数据块,并以一个或多个块发送,这样HTTP协议数据在发送时可以不需要预先知道数据内容的总大小。注册请求报文包括发起方的地址信息和身份标识号码信息等,其中,发起方的身份标识号码信息可以是产品类型和产品序列号信息的组合,也可以是其它标识发起方的信息。
402、通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段。在步骤402之后,执行步骤403。
具体的,TCP服务器在接收注册请求报文后,根据注册请求报文的信息进行验证发起方的身份是否合法,本发明实施例对具体的验证过程不加以限定。
如果发起方的身份不合法,则TCP服务器不进行注册。通过HTTP协议中的GET请求从TCP服务器中获取用于指示注册失败的注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段,该过程可以为:
发送HTTP GET请求至TCP服务器;
接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transfer-Encoding:chunked字段,注册响应的负载部分包括用于指示注册失败的注册应答报文。
如果发起方的身份合法,则TCP服务器根据注册请求报文进行注册,该注册过程可以是:
TCP服务器根据注册请求报文,进行查询与该注册请求报文对应的业务数据。如果查询成功,则TCP服务器根据所查询到的业务数据进行注册。
通过HTTP协议中的GET请求从TCP服务器中获取用于指示注册成功的注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段,该过程可以为:
发送HTTP GET请求至TCP服务器;
接收TCP服务器通过HTTP协议返回的针对HTTP GET请求的注册应答报文,其中该注册应答报文的头部包括Transfer-Encoding:chunked字段,注册响应的负载部分包括用于指示注册成功的注册应答报文。
可选的,在实际应用中,若在预设时间内未接收到TCP服务器返回的注册确认报文,则可以重新通过HTTP协议中的POST请求向TCP服务器发送HTTP协议报文,以及向TCP服务器发送HTTP协议中的GET请求,直至接收到TCP服务器返回的注册确认报文。
值得注意的是,当接收TCP服务器返回用于指示注册成功的注册应答报文后,才执行步骤403;否则,结束或者返回步骤401。
403、通过HTTP协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文。在步骤403之后,执行步骤404。
具体的,其他终端设备属于外网终端,其他终端设备包括台式计算机、个人计算机、膝上型计算机、手机、个人数字助理等。通过HTTP协议中的POST请求向TCP服务器发送呼叫请求报文,POST请求的头部包括Transfer-Encoding:chunked字段,POST请求的负载部分包括呼叫请求报文,该呼叫请求报文包括发起方的地址信息和其他终端设备的地址信息等。
404、接收TCP服务器发送的UDP服务器的信息。在步骤404之后,执行步骤405。
具体的,通过HTTP协议接收TCP服务器发送的UDP服务器的信息,该UDP服务器是网络参数最优的UDP服务器,其中网络参数用于描述UDP服务器的数据处理能力,该UDP服务器的信息至少包括UDP服务器的IP地址和端口号。本发明实施例对具体的接收方式不加以限定。
405、通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。在步骤405之后,执行步骤406。
具体的,根据UDP服务器的IP地址和端口号通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求,其中数据传输通道建立请求包括相关会话参数,该相关会话参数包括房间号(room ID)和发起方的用户ID,该POST请求的头部包括Transfer-Encoding:chunked字段。本发明实施例对具体的发送过程不加以限定。
406、通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。在步骤406之后,执行步骤407。
具体的,数据传输通道建立应答报文用于指示UDP服务器建立数据传输通道。本发明实施例对具体的获取过程不加以限定。
407、通过HTTP协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。在步骤407之后,执行步骤408。
具体的,该呼叫响应报文用于指示其他终端设备同意发起方的数据传输请求,并指示发起方可以通过数据传输通道,向其他终端设备传输数据。本发明实施例对具体的获取方式不加以限定。
408、通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
具体的,本发明实施例对具体的发送过程不加以限定。
值得注意的是,步骤407至步骤408是可选步骤。
本发明实施例提供了一种穿越防火墙的方法,当内网的发起方不能成功登录TCP服务器时,由于防火墙允许HTTP协议的数据包通过,且开放了http 80和/或http 8080端口,因此能够使内网的发起方通过将注册请求进行封装为HTTP协议向TCP服务器进行注册,以使发起方能够成功登录TCP服务器;然后通过发起方的封装为HTTP协议的呼叫请求报文向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及根据发起方通过获取TCP服务器发送的UDP服务器的信息向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使内网发起方与外网其他终端设备之间能够进行数据传输,实现穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
实施例五为本发明实施例提供的一种电子设备,参照图5所示,该电子设备包括:
第一发送模块501,用于通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册;
第一接收模块502,用于通过第一预设协议从TCP服务器获取注册应答报文;
第二发送模块503,用于通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文;
第二接收模块504,用于接收TCP服务器发送的UDP服务器的信息;
第三发送模块505,用于通过第二预设协议向UDP服务器发送数据传输通道建立请求报文;
第三接收模块506,用于通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
可选的,第一发送模块501具体用于:
第一预设协议为HTTP协议,通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding:chunked字段。
可选的,第一接收模块502具体用于:
通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段。
可选的,第三发送模块505具体用于:
第二预设协议为HTTP协议,通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。
可选的,第三接收模块506具体用于:
通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
可选的,第三发送模块505还具体用于通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
可选的,第二接收模块504还用于通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
本发明实施例提供了一种电子设备,该电子设备将注册请求进行封装为HTTP协议向TCP服务器进行注册,以便能够成功登录TCP服务器;然后该电子设备向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及通过获取TCP服务器发送的UDP服务器的信息,向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使该电子设备与外网其他终端设备之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
实施例六为本发明实施例提供的一种电子设备,参照图6所示,该电子设备包括发送/接收模块61、存储器62以及与发送/接收模块61、存储器62连接的处理器63,其中,存储器62用于存储一组程序代码,处理器63调用存储器62所存储的程序代码用于执行以下操作:
控制发送/接收模块61通过第一预设协议向TCP服务器发送第一预设协议报文,第一预设协议报文的头部包括与TCP服务器保持连接的字段,第一预设协议报文的负载部分包括注册请求报文,以使TCP服务器根据注册请求报文进行注册;
控制发送/接收模块61通过第一预设协议从TCP服务器获取注册应答报文;
控制发送/接收模块61通过第一预设协议向TCP服务器发送呼叫请求报文,以使TCP服务器向其他终端设备转发呼叫请求报文;
控制发送/接收模块61接收TCP服务器发送的UDP服务器的信息;
控制发送/接收模块61通过第二预设协议向UDP服务器发送数据传输通道建立请求报文;
控制发送/接收模块61通过第二预设协议从UDP服务器获取数据传输通道建立应答报文。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
第一预设协议为HTTP协议,控制发送/接收模块61通过HTTP协议中的POST请求向TCP服务器发送第一预设协议报文,POST请求的头部包括Transfer-Encoding:chunked字段。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
控制发送/接收模块61通过HTTP协议中的GET请求从TCP服务器中获取注册应答报文,注册应答报文的头部包括Transfer-Encoding:chunked字段。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
第二预设协议为HTTP协议,控制发送/接收模块61通过HTTP协议的POST请求向UDP服务器发送数据传输通道建立请求报文,其中数据传输通道建立请求报文包括相关会话参数,POST请求的头部包括Transfer-Encoding:chunked字段。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
控制发送/接收模块61通过HTTP协议中的GET请求从UDP服务器获取数据传输通道建立应答报文,数据传输通道建立应答报文的头部包括Transfer-Encoding:chunked字段。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
控制发送/接收模块61通过UDP服务器建立的数据传输通道,向其他终端设备发送数据。
可选的,该处理器63调用存储器62所存储的程序代码用于执行以下操作:
控制发送/接收模块61通过第一预设协议从TCP服务器中获取其他终端设备根据呼叫请求报文返回的呼叫响应报文。
本发明实施例提供了一种电子设备,该电子设备将注册请求进行封装为HTTP协议向TCP服务器进行注册,以便能够成功登录TCP服务器;然后该电子设备向TCP服务器发送呼叫其他终端设备的呼叫请求报文,以及通过获取TCP服务器发送的UDP服务器的信息,向UDP服务器发送封装为HTTP协议的数据传输通道建立请求报文,通过UDP服务器建立的数据传输通道,使该电子设备与外网其他终端设备之间能够进行数据传输,实现了穿越严格限制的防火墙进行数据传输,提高了数据传输的灵活度、兼容性和耦合度。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,此处不再一一赘述。
需要说明的是:上述实施例提供的电子设备在执行穿越防火墙的方法时,仅以上述各功能设备的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能设备完成,即将设备的内部结构划分成不同的功能设备,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备与穿越防火墙的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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服务器中获取所述注册应答报文,所述注册应答报文的头部包括Transfer-Encoding:chunked字段。
CN201610345559.7A 2016-05-23 2016-05-23 一种穿越防火墙的方法和电子设备 Active CN105915534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610345559.7A CN105915534B (zh) 2016-05-23 2016-05-23 一种穿越防火墙的方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610345559.7A CN105915534B (zh) 2016-05-23 2016-05-23 一种穿越防火墙的方法和电子设备

Publications (2)

Publication Number Publication Date
CN105915534A true CN105915534A (zh) 2016-08-31
CN105915534B CN105915534B (zh) 2019-02-19

Family

ID=56749473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610345559.7A Active CN105915534B (zh) 2016-05-23 2016-05-23 一种穿越防火墙的方法和电子设备

Country Status (1)

Country Link
CN (1) CN105915534B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092932A (zh) * 2019-11-19 2020-05-01 山东大学 一种易于穿越防火墙的obd数据远程入库通信方法
CN112118207A (zh) * 2019-06-20 2020-12-22 华为技术有限公司 数据传输方法、服务器以及电子设备
CN115278925A (zh) * 2022-07-04 2022-11-01 广西电网有限责任公司桂林供电局 一种基于4g通信的无固定ip数据互通方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719776A (zh) * 2004-07-10 2006-01-11 深圳市凌宇创展科技有限公司 一种穿越nat和防火墙的通讯方法
CN101883056A (zh) * 2010-07-23 2010-11-10 华南理工大学 基于udt和tcp中转实现nat穿越的系统和方法
US20110314535A1 (en) * 2001-07-18 2011-12-22 Boyle Steven C Null-packet transmission from inside a firewall to open a communication window for an outside transmitter
CN102685141A (zh) * 2012-05-22 2012-09-19 北京邮电大学 一种VoIP中基于语音可达性的融合穿越方法
CN103392316A (zh) * 2013-01-11 2013-11-13 华为技术有限公司 穿越防火墙的方法、客户端和媒体穿越服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314535A1 (en) * 2001-07-18 2011-12-22 Boyle Steven C Null-packet transmission from inside a firewall to open a communication window for an outside transmitter
CN1719776A (zh) * 2004-07-10 2006-01-11 深圳市凌宇创展科技有限公司 一种穿越nat和防火墙的通讯方法
CN101883056A (zh) * 2010-07-23 2010-11-10 华南理工大学 基于udt和tcp中转实现nat穿越的系统和方法
CN102685141A (zh) * 2012-05-22 2012-09-19 北京邮电大学 一种VoIP中基于语音可达性的融合穿越方法
CN103392316A (zh) * 2013-01-11 2013-11-13 华为技术有限公司 穿越防火墙的方法、客户端和媒体穿越服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佟玲: "SIP通信支持隧道穿越防火墙机制的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118207A (zh) * 2019-06-20 2020-12-22 华为技术有限公司 数据传输方法、服务器以及电子设备
CN112118207B (zh) * 2019-06-20 2021-12-28 华为技术有限公司 数据传输方法、服务器以及电子设备
CN111092932A (zh) * 2019-11-19 2020-05-01 山东大学 一种易于穿越防火墙的obd数据远程入库通信方法
CN111092932B (zh) * 2019-11-19 2022-07-08 山东大学 一种易于穿越防火墙的obd数据远程入库通信方法
CN115278925A (zh) * 2022-07-04 2022-11-01 广西电网有限责任公司桂林供电局 一种基于4g通信的无固定ip数据互通方法及系统

Also Published As

Publication number Publication date
CN105915534B (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
US8578465B2 (en) Token-based control of permitted sub-sessions for online collaborative computing sessions
CN106303359A (zh) 一种网络转换的处理方法和设备
US8826398B2 (en) Password changing
US9576270B1 (en) System and related method for management of devices of a network system via social media interfaces
US11736611B2 (en) Visual engagement using automatically dynamically selected visualization mediums
JP2008028600A (ja) ゲートウェイ装置、接続制御装置及びネットワーク接続システム
WO2006000624A1 (en) Method, system and server for transferring a session in a data communications system
CN105307144B (zh) 一种注册方法、呼叫方法、应用服务器及网络域设备
CN106548543B (zh) 门禁设备、用户终端、用于该门禁设备的后台系统及方法
CN105915534A (zh) 一种穿越防火墙的方法和电子设备
CN103430506A (zh) 网络通信系统和方法
AU2004306985B2 (en) Sessions in a communication system
CN112422583A (zh) 多协议视频应用融合互通的方法和系统
JP2015536618A (ja) 会議へのアクセス方法及び装置
CN111147789A (zh) 一种音视频流录制的方法、装置、设备以及存储介质
CN108235111A (zh) 信息共享方法及智能机顶盒
CN105635148A (zh) 一种Portal认证方法及装置
JP5227885B2 (ja) WebシステムとVoIPシステムとを連携する連携方法、VoIPシステム、および連携プログラム
CN110830419B (zh) 一种网际协议摄像机的访问控制方法及装置
US20080267385A1 (en) Method of Transferring Communication Streams
CN106713308A (zh) 媒体流实时传输的方法和装置
CN107343285A (zh) 一种管理设备及设备管理方法
KR20170111609A (ko) 영상서비스 제공시스템 및 영상서비스 제공방법
CN107404591B (zh) 智能门铃监控方法和装置
CN113612734A (zh) 一种跨网远程庭审媒体流的传输方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200709

Address after: 603a, block a, Xinghe world, No.1 Yabao Road, Longgang District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Weiwu Technology Co., Ltd

Address before: 200063, Shanghai, Putuo District, home on the first floor of the cross road, No. 28

Patentee before: Palmwin Information Technology (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210129

Address after: 518051 2503, building 15, Longhai homeland, 5246 Yihai Avenue, baonanshan District, Shenzhen City, Guangdong Province

Patentee after: Xiao Feng

Address before: 603a, block a, Xinghe world, No.1, Yabao Road, Longgang District, Shenzhen, Guangdong 518035

Patentee before: Shenzhen Weiwu Technology Co., Ltd

TR01 Transfer of patent right