CN112118207B - 数据传输方法、服务器以及电子设备 - Google Patents
数据传输方法、服务器以及电子设备 Download PDFInfo
- Publication number
- CN112118207B CN112118207B CN201910534795.7A CN201910534795A CN112118207B CN 112118207 B CN112118207 B CN 112118207B CN 201910534795 A CN201910534795 A CN 201910534795A CN 112118207 B CN112118207 B CN 112118207B
- Authority
- CN
- China
- Prior art keywords
- stun
- server
- message
- electronic device
- udp
- 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.)
- Active
Links
Images
Classifications
-
- 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]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种数据传输方法、服务器以及电子设备,该方法包括:服务器接收第一电子设备的绑定请求STUN报文,绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型,连接类型包括:1对1的P2P或1对多的P2P;服务器接收来自第一电子设备的用户数据报协议UDP报文;若连接类型为1对1的P2P且UDP报文中不包含STUN头,则服务器将UDP报文直接转发给第二电子设备;若连接类型为1对1的P2P且UDP报文中包含STUN头,则服务器将UDP报文转发给STUN头指示的电子设备。通过上述方法,可以在UDP报文前不封装包头,提高了1对1的P2P中继传输时的传输效率。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据传输方法、服务器以及电子设备。
背景技术
随着物联网(internet of things,IOT)技术的发展,设备之间进行网络连接的场景和需求与日俱增。在广域网连接领域,很多场景中,例如手机远程连接家庭智能设备,受网络中防火墙设备的限制,不能直接建立手机与家庭智能设备之间的网络连接,手机与家庭智能设备之间需要通过服务器中继。
现有技术中,常用的中继方式主要考虑的是一对多的中继。在进行用户数据报协议(user datagram protocol,UDP)报文中继传输时,包括数据指示(Data Indication)模式和通道数据(Channel Data)模式。在Data Indication模式和Channel Data模式中,设备之间传输UDP报文时,都需在UDP报文前添加网络地址转换(network addresstranslation,NAT)会话穿越协议(session traversal utilities for NAT,STUN)头,在STUN头中指明接收设备的目的地址。
然而,在设备间一对一中继传输数据时,现有技术中仍然需要采用DataIndication模式或Channel Data模式传输UDP数据包,在UDP报文前仍然需要封装STUN头。由于STUN头需要占用额外的UDP载荷空间,因此会降低一对一中继传输时的UDP传输效率。
发明内容
本申请提供一种数据传输方法、服务器以及电子设备,以解决现有技术中一对一中继传输时的UDP传输效率较低的问题。
第一方面提供一种数据传输方法,该方法可以运用于服务器,也可以应用于服务器的芯片。下面以应用于服务器为例进行描述,该方法中,服务器接收第一电子设备的绑定请求STUN报文,所述绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型;其中,所述协议类型包括UDP,所述连接类型包括:1对1的P2P或1对多的P2P;所述服务器接收来自所述第一电子设备的用户数据报协议UDP报文;若所述连接类型为1对1的P2P且所述UDP报文中不包含STUN头,则所述服务器将所述UDP报文直接转发给所述第二电子设备,所述第二电子设备的标识保存在所述服务器中;若所述连接类型为1对1的P2P且所述UDP报文中包含STUN头,则所述服务器将所述UDP报文转发给所述STUN头指示的电子设备。
通过第一方面提供的数据传输方法,在接收绑定请求STUN报文后,若连接类型为1对1的P2P且所述UDP报文中不包含STUN头,服务器可以直接转发该报文给第二电子设备,从而使1对1的P2P连接的电子设备间发送的UDP报文可以不封装STUN头,节约了载荷空间,提高了传输效率。
在一种可能的实现方式中,在所述服务器接收第一电子设备的绑定请求STUN报文之后,还包括:所述服务器验证所述绑定请求STUN报文的完整性;若通过验证,则所述服务器根据所述连接类型建立所述第一电子设备和所述第二电子设备之间的连接。
通过该可能的实现方式提供的数据传输方法,通过验证绑定请求STUN报文的完整性,可以成功建立第一电子设备和所述第二电子设备之间连接,以便第一电子设备和第二电子设备之间进行报文发送。
在一种可能的实现方式中,在所述服务器根据连接类型将所述第一电子设备和所述第二电子设备进行连接之后,还包括:若所述连接类型为1对1的P2P,则所述服务器保存所述第二电子设备的标识。
通过该可能的实现方式提供的数据传输方法,服务器可以在发送不包含STUN头的UDP报文时,服务器可以根据保存的标识确定转发的电子设备。
在一种可能的实现方式中,在所述若所述连接类型为1对1的P2P,则所述服务器保存所述第二电子设备的标识之后,还包括:
所述服务器向所述第一电子设备发送绑定响应STUN报文,所述绑定响应STUN报文包括所述连接类型。
通过该可能的实现方式提供的数据传输方法,当第一电子设备和第二电子设备成功建立连接后,可以向第一电子设备发送绑定响应STUN报文,若连接类型为1对1的P2P,则可以提示第一电子设备可以发送不包含STUN头的UDP报文。
在一种可能的实现方式中,所述若连接类型为1对1的P2P且所述UDP报文中不包含STUN头,则所述服务器将所述UDP报文直接转发给第二电子设备,包括:若连接类型为1对1的P2P且所述UDP报文中不包含STUN头,则所述服务器使用中继地址作为源地址将所述UDP报文直接转发给所述第二电子设备。
第二方面提供一种数据传输方法,该方法可以运用于第一电子设备,也可以应用于第一电子设备的芯片。下面以应用于第一电子设备为例进行描述,该方法中,第一电子设备向服务器发送绑定请求STUN报文,所述绑定请求STUN报文包括IP端口号,协议类型,和连接类型;其中,所述协议类型包括UDP,所述连接类型包括:1对1的P2P或1对多的P2P;所述第一电子设备接收来自所述服务器的绑定响应STUN报文,所述绑定响应STUN报文包括所述连接类型;若所述绑定响应STUN报文包括的连接类型为1对1的P2P,所述第一电子设备生成不包含STUN头的UDP报文;所述第一电子设备向所述服务器发送不包含STUN头的UDP报文。
在一种可能的实现方式中,在所述第一电子设备接收来自所述服务器的绑定响应STUN报文之后,还包括:若所述绑定响应STUN报文包括的连接类型为1对1的P2P,所述第一电子设备生成包含STUN头的UDP报文,所述STUN头指示所述UDP报文的目标电子设备;所述第一电子设备向所述服务器发送包含STUN头的UDP报文;或者,若所述绑定响应STUN报文包括的连接类型为1对多的P2P,所述第一电子设备生成包含STUN头的UDP报文,所述STUN头指示所述UDP报文的目标电子设备;所述第一电子设备向所述服务器发送包含STUN头的UDP报文。
第三方面提供一种服务器,包括:处理器和存储器;所述存储器存储有一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备能够执行上述第一方面的数据传输方法。
第四方面提供一种电子设备,包括:处理器和存储器;所述存储器存储有一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备能够执行上述第二方面的数据传输方法。
第五方面提供一种程序,该程序在被处理器执行时用于执行以上第一方面的方法。
第六方面提供一种程序,该程序在被处理器执行时用于执行以上第二方面的方法。
第七方面提供一种程序产品,例如计算机可读存储介质,包括第五方面的程序。
第八方面提供一种程序产品,例如计算机可读存储介质,包括第六方面的程序。
第九方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面的方法。
第十方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面的方法。
在本申请中,服务器接收第一电子设备的绑定请求STUN报文,绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P;随后,服务器接收来自第一电子设备的用户数据报协议UDP报文;若连接类型为1对1的P2P且UDP报文中不包含STUN头,则服务器将UDP报文直接转发给第二电子设备;若连接类型为1对1的P2P且UDP报文中包含STUN头,则服务器将UDP报文转发给STUN头指示的电子设备。通过该方式,若第一电子设备和第二电子设备之间1对1的P2P连接,第一电子设备可以向服务器发送不包含STUN头的UDP报文,从而节约了STUN头所占用的载荷空间,提高了传输效率。
附图说明
图1为本申请实施例提供的一种数据传输系统的网络架构图;
图2为本申请实施例提供的一种数据传输方法的信令交互图;
图3为本申请实施例提供的一种STUN消息头的示意图;
图4为本申请实施例提供的一种STUN消息体的示意图;
图5为本申请实施例提供的一种第一电子设备、服务器和第二电子设备间数据传输的示意图;
图6为本申请实施例提供的另一种数据传输方法的信令交互图;
图7为本申请实施例提供的一种服务器的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图;
图9为本申请实施例提供的另一种服务器的结构示意图;
图10为本申请实施例提供的另一种电子设备的结构示意图;
图11为本申请实施例提供的电子设备为手机时的结构框图。
具体实施方式
应当理解,本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请实施例能够以除图示或描述的那些以外的顺序实施。
图1为本申请实施例提供的一种数据传输系统的网络架构图。如图1所示,该数据传输系统可以包括:第一电子设备101、第二电子设备102、服务器103和防火墙设备104。受防火墙设备104限制,第一电子设备101向第二电子设备102传输数据时,需要通服务器103进行转发。
其中,服务器:负责对电子设备的绑定请求进行鉴权,并在鉴权通过以及业务信息满足预设条件时,为电子设备分配中继地址。同时,还利用为电子设备分配的中继地址为电子设备进行报文转发。应理解,本申请中所涉及的服务器包括中继服务器,例如,服务器为TURN服务器。
防火墙设备:由软件和硬件设备组合而成,在内部网和外部网之间、专用网和公用网之间的边界构建保护屏障的设备。
电子设备:可以是无线设备也可以是有线设备,无线设备可以是指一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。上述电子设备可以是手机(mobile phone)、平板电脑(Pad)、可穿戴设备、带无线收发功能的电脑、虚拟现实(virtualreality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrialcontrol)中的无线设备、无人驾驶(self driving)中的无线设备、远程医疗(remotemedical)中的无线设备、智能电网(smart grid)中的无线设备、运输安全(transportationsafety)中的无线设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备等等,在此不作限定。可以理解的是,本申请实施例中,电子设备也可以称为用户设备(user equipment,UE)。
示例性的,本申请实施例的应用场景可例如,手机(即第一电子设备)可以通过服务器向另一手机(即第二电子设备)传输数据,从而实现数据的远程共享;手机(即第一电子设备)可以通过服务器向智能摄像头(即第二电子设备)传输数据,从而调整智能摄像头的拍摄角度,实现远程实时监控;手机(即第一电子设备)可以通过服务器向智能电视(即第二电子设备)传输数据,从而实现手机的远程实时投屏;手机(即第一电子设备)可以通过服务器向智能硬盘(即第二电子设备)传输数据,从而实现数据的远程存储。需要说明的是,本申请实施例可以应用于任意电子设备间进行数据传输的场景中。
在广域网连接领域,很多场景中,例如手机远程连接家庭智能设备,受网络中防火墙设备的限制,不能直接建立手机与家庭智能设备之间的网络连接,手机与家庭智能设备之间需要通过服务器中继。
现有技术中,常用的中继方式主要考虑的是一对多的中继。在进行用户数据报协议(user datagram protocol,UDP)报文中继传输时,包括数据指示(Data Indication)模式和通道数据(Channel Data)模式。在Data Indication模式和Channel Data模式中,设备之间传输UDP报文时,都需在UDP报文前添加网络地址转换(network addresstranslation,NAT)会话穿越协议(session traversal utilities for NAT,STUN)头,在STUN头中指明接收设备的目的地址。
然而,在设备间一对一中继传输数据时,现有技术中仍然需要采用DataIndication模式或Channel Data模式传输UDP数据包,在UDP报文前仍然需要封装STUN头。由于STUN头需要占用额外的UDP载荷空间,因此会降低一对一中继传输时的UDP传输效率。
考虑到上述问题,本申请提供了一种数据传输方法,若第一电子设备和第二电子设备之间1对1的P2P连接,第一电子设备向第二电子设备发送UDP报文时可以不封装STUN头,从而节约了STUN头的载荷空间,提高了传输效率。
下面以具体地实施例对本申请实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种数据传输方法的信令交互图。本实施例涉及的是电子设备通过服务器转发报文的过程。本申请实施例以第一电子设备对应发送报文的电子设备,服务器对应转发报文的服务器为例,对本申请实施例的方法进行说明。如图2所示,该方法包括:
S201、第一电子设备向服务器发送绑定请求STUN报文。
其中,绑定请求STUN报文包括IP端口号,协议类型,和连接类型,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P。
在本步骤中,第一电子设备可以向服务器发送绑定请求STUN报文,从而使服务器建立第一电子设备和第二电子设备进行连接。
其中,绑定请求STUN报文中包括有IP端口号,该IP端口号具体为第二电子设备的IP端口号,服务器可以根据第二电子设备的IP端口号确定报文转发的目的地址,本申请对于如何确定第二电子设备的IP端口号不做限制,在一种可能的实现方式中,第二服务器可以通过email主动告知第一电子设备其IP端口号。
上述协议类型可以包括UDP,或者,也可以包括传输控制协议(transmissioncontrol protocol,TCP),本申请实施例对于协议类型不做限制。
在一种可能的实现方式中,在第一电子设备向服务器发送绑定请求STUN报文前,第一电子设备还需要指定其使用的协议类型。随后,第一电子设备可以在绑定请求STUN报文中添加该协议类型,同时使用指定的协议进行STUN报文发送。
针对STUN报文,其可以包含STUN的消息头。图3为本申请实施例提供的一种STUN消息头的示意图。如图3所示,STUN消息头包含了STUN消息类型,magic cookie(字节文件),事务ID和消息长度。图4为本申请实施例提供的一种STUN消息体的示意图。如图4所示,在STUN的消息头后可以包含其对应的消息体,通常为0个或者多个属性,每个属性必须是由类型长度值编码(type-length-value,TLV)而成。其中,类型(Type)字段和长度(Length)字段都是16位,值(Value)字段为32位。
本申请实施例对于如何区分连接类型不做限定。在一种可能的实现方式中,上述连接类型可以通过STUN报文的属性来区分。示例性的,可以在STUN协议中扩展一个新的属性字段(restrict only one peer to relay),将该属性定义为1对1的P2P。其中,restrictonly one peer to relay属性的值为0x0023,长度为0,可以不具体赋值。若第一电子设备向服务器发送的绑定请求STUN报文中出现该属性字段,则服务器接收到包含该属性字段的STUN报文后,可以确定连接类型为1对1的P2P,若第一电子设备向服务器发送的绑定请求STUN报文中未出现该字段时,则服务器接收到不包含该属性字段的STUN报文后,可以确定连接类型为1对多的P2P。
示例性的,还可以在STUN协议中分别扩展两个属性字段,上述两个属性分别定义为1对1的P2P和1对多的P2P。第一电子设备向服务器发送的STUN报文包含上述两个字段属性中的一个,服务器通过上述两个字段属性可以确定连接类型。
在一种可能的实现方式中,在向第一电子设备向服务器发送绑定请求STUN报文前,第一电子设备还可以获取服务器的IP端口号,从而确定绑定请求STUN报文的目标地址。其中,第一电子设备可以通过DNS确定服务器的IP端口号,也可以通过解析服务器的域名确定服务器的IP端口号,本申请对于如何确定服务器的IP端口号不做限制。
S202、服务器向第一电子设备发送绑定响应STUN报文,绑定响应STUN报文包括连接类型。
在本步骤中,当第一电子设备和第二电子设备根据绑定请求STUN报文建立连接后,服务器向第一电子设备发送绑定响应STUN报文,以提醒第一电子设备成功建立与第二电子设备的连接。
其中,上述绑定响应STUN报文中的连接类型还可以用来确定第一电子设备如何生成UDP报文。在一种可能的实现方式中,当绑定响应STUN报文包括的连接类型为1对1的P2P,则第一电子设备可以开始生成不包含STUN头的UDP报文。即,第一电子设备收到包含1对1的P2P的绑定响应STUN报文是生成不包含STUN头的UDP报文的前提条件。
S203、若绑定响应STUN报文包括的连接类型为1对1的P2P,第一电子设备生成不包含STUN头的UDP报文。
在另一种可能的实现方式中,若绑定响应STUN报文包括的连接类型为1对1的P2P,第一电子设备也可以生成包含STUN头的UDP报文,STUN头指示UDP报文的目标电子设备。
需要说明的是,若连接类型为1对1的P2P,第一电子设备生成的UDP报文是否包含STUN头可以根据该UDP报文的目标电子设备确定,本申请实施例此不做限制。
示例性的,若第一电子设备和第二电子设备之间1对1的P2P连接,第一电子设备生成的向第二电子设备发送的UDP报文不包含STUN头,第一电子设备生成的向除第二电子设备以外的其他电子设备发送的UDP报文包含STUN头。
在另一种可能的实现方式中,若绑定响应STUN报文包括的连接类型为1对多的P2P,第一电子设备生成包含STUN头的UDP报文,所述STUN头指示所述UDP报文的目标电子设备。
本申请实施例对于UDP报文的生成过程不做限定。在一种可能的实现方式中,上述UDP报文的生成过程可以由第一电子设备的中央处理器(central processing unit,CPU)控制软件程序来实现。
S204、第一电子设备向所述服务器发送不包含STUN头的UDP报文。
上述第一电子设备可以通过无线网络向服务器发送UDP报文,也可以通过无有线网络向服务器发送UDP报文,本申请实施例对于第一电子设备如何向服务器发送UDP报文不做限定,在一种可能的实现方式中,在第一电子设备生成UDP报文后,可以通过第一电子设备的网络通信接口将报文发送出去,从而实现第一电子设备和服务器的交互。
在另一种可能的实现方式中,若第一电子设备生成的是包含STUN头的UDP报文,相应的,第一电子设备向服务器发送包含STUN头的UDP报文。
S205、若连接类型为1对1的P2P且UDP报文中不包含STUN头,则服务器将UDP报文直接转发给第二电子设备,第二电子设备的标识保存在服务器中。
图5为本申请实施例提供的一种第一电子设备、服务器和第二电子设备间数据传输的示意图。如图5所示,第一电子设备向服务器发送不带STUN头的UDP报文,服务器将该UDP报文转发给第二电子设备。其中,当服务器接收到第一电子设备发送的UDP报文后,首先确定UDP报文中是否包含STUN头。若UDP报文中不包含STUN头且连接类型为1对1,则服务器根据预先保存的第二电子设备的标识,直接将UDP报文转发给第二电子设备。
本申请实施例对于服务器如何转发UDP报文的方式不做限定,在一种可实施的方式中,服务器可以使用中继地址作为源地址将UDP报文直接转发给第二电子设备。
需要说明的是,本申请实施例对于何时保存第二电子设备的标识也不做限定,一种可能的实现方式中,若连接类型为1对1的P2P,服务器将第一电子设备和第二电子设备完成连接后,可以保存第二电子设备的标识。
本申请实施例在第一电子设备和第二电子设备1对1的P2P连接时,服务器可以直接将不包含STUN头的UDP报文转发给第二电子设备,从而节约了STUN头所占的载荷空间,提高传输效率。同时,由于UDP报文不包含STUN头,使得基于UDP的可靠传输协议可以增加额外的报文头。
S206、若连接类型为1对1的P2P且UDP报文中包含STUN头,则服务器将UDP报文转发给STUN头指示的电子设备。
本步骤,可以理解为,若连接类型为1对1的P2P,但UDP报文中包含STUN头,服务器不会将UDP报文直接转发给第二电子设备,而是仍然按照STUN头指示的目标电子设备进行转发。
本申请实施例对于如何确定出STUN头指示的电子设备不做限定,一种可实施的方式中,可以通过STUN头中保存的电子设备的标识来确定。
本申请实施例对于服务器如何转发UDP报文的方式也不做限定,一种可能的实现方式中,服务器可以通过通道数据(Channel Data)模式对包含STUN头的UDP报文进行转发。另一种可能的实现方式中,服务器还可以通过数据指示(Data Indication)模式对包含STUN头的UDP报文进行转发。
在申请实施例提供的数据传输方法,服务器接收第一电子设备的绑定请求STUN报文,绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P;随后,服务器接收来自第一电子设备的用户数据报协议UDP报文;若连接类型为1对1的P2P且UDP报文中不包含STUN头,则服务器将UDP报文直接转发给第二电子设备;若连接类型为1对1的P2P且UDP报文中包含STUN头,则服务器将UDP报文转发给STUN头指示的电子设备。通过该方式,若第一电子设备和第二电子设备之间1对1的P2P连接,第一电子设备可以向服务器发送不包含STUN头的UDP报文,从而节约了STUN头所占用的载荷空间,提高了传输效率。
下面结合图6对如何建立第一电子设备和第二电子设备之间的连接进行说明。图6为本申请实施例提供的另一种数据传输方法的信令交互图,如图6所示,在上述实施例的基础上,本实施例提供的数据传输方法可以包括:
S301、第一电子设备向服务器发送绑定请求STUN报文。
其中,绑定请求STUN报文包括IP端口号,协议类型,和连接类型;其中,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P。
本实施例中,步骤S301的具体实现过程和实现原理与实施例一中步骤S201的类似,此处不再赘述。
S302、服务器验证绑定请求STUN报文的完整性。
本申请实施例对于服务器如何验证绑定请求STUN报文的完整性不做限定。在一种可能的实现方式中,服务器可以对绑定请求STUN报文中的必要属性进行验证,若证绑定请求STUN报文包含有必要属性,则该绑定请求STUN报文的完整性通过验证。
在一另种可能的实现方式中,当服务器接收到绑定请求STUN报文后,还可以检查STUN报文的规则是否合法。示例性的,服务器可以检查报文的前两位是否为0,magiccookie(字节文件)是否为0x2112A442,报文长度是否正确以及是否支持报文对应的方法。
S303、若通过验证,则服务器根据连接类型建立第一电子设备和第二电子设备之间的连接。
本申请实施例对于如何建立第一电子设备和第二电子设备之间的连接不做限定。一种可能的实现方式中,可以采用数据指示(Data Indication)模式建立第一电子设备和第二电子设备之间的连接。示例性的,可以在服务器中建立第一电子设备和第二电子设备之间发送报文的许可。
另一种可能的实现方式中,可以通过通道数据(Channel Data)模式建立第一电子设备和第二电子设备之间的连接。示例性的,可以建立第一电子设备和第二电子设备间发送报文的通道。
S304、若连接类型为1对1的P2P,则服务器保存第二电子设备的标识。
在本步骤中,若连接类型为1对1的P2P,则满足服务器直接转发不包含STUN包头的UDP报文的要求,服务器可以将第二电子设备的标识进行保存,以使第一电子设备向服务器发送不包含STUN报文的UDP报文时,可以根据第二电子设备的标识直接将UDP报文转发给第二电子设备。
本申请实施例对于上述第二电子设备的标识的保存位置不做限定,在一种可能的实现方式中,可以将第二电子设备的标识保存在服务器中第一电子设备对应的转发时域(Relay Session)中。
一种可能的实现方式中,第一电子设备只能与一个其他电子设备建立1对1的P2P连接,相应的,服务器只能为第一电子设备保存一个其他电子设备的标识。当第一电子设备向服务器发送针对第三电子设备的绑定请求STUN时,服务器在保存第三电子设备的标识的同时相应的删除第二电子设备的标识。
S305、服务器向第一电子设备发送绑定响应STUN报文,绑定响应STUN报文包括连接类型。
S306、若绑定响应STUN报文包括的连接类型为1对1的P2P,第一电子设备生成不包含STUN头的UDP报文。
S307、第一电子设备向所述服务器发送不包含STUN头的UDP报文。
S308、若连接类型为1对1的P2P且UDP报文中不包含STUN头,则服务器将UDP报文直接转发给第二电子设备,第二电子设备的标识保存在服务器中。
S309、若连接类型为1对1的P2P且UDP报文中包含STUN头,则服务器将UDP报文转发给STUN头指示的电子设备。
本实施例中,步骤S305至S309的具体实现过程和实现原理与实施例一中步骤S202至S206的类似,此处不再赘述。
在申请实施例提供的数据传输方法,服务器接收第一电子设备的绑定请求STUN报文,服务器验证绑定请求STUN报文的完整性;若通过验证,则服务器根据连接类型将第一电子设备和第二电子设备进行连接。若连接类型为1对1的P2P,则服务器保存第二电子设备的标识。通过该方式,可以建立第一电子设备和第二电子设备之间1对1的P2P连接,第一电子设备向服务器发送的UDP报文可以不封装STUN头,节约了STUN头所占的载荷空间,提高了1对1的P2P连接的传输效率。
图7为本申请实施例提供的一种服务器的结构示意图。如图7,该服务器可以包括:
收发器41,用于接收第一电子设备的绑定请求STUN报文,绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P;接收来自第一电子设备的用户数据报协议UDP报文;
处理器42,用于确定所述连接类型是否为1对1的P2P,以及所述UDP报文中是否包含STUN头
该收发器41,还用于在所述处理器42确定连接类型为1对1的P2P且UDP报文中不包含STUN头时,则将UDP报文直接转发给第二电子设备,该第二电子设备的标识保存在服务器中;若连接类型为1对1的P2P且UDP报文中包含STUN头,则将UDP报文转发给STUN头指示的电子设备。
可选的,该处理器42,还用于验证绑定请求STUN报文的完整性;若通过验证,则根据连接类型建立第一电子设备和第二电子设备之间的连接。
可选的,该处理器42,还用于若连接类型为1对1的P2P,则保存第二电子设备的标识。
可选的,该收发器41,还用于向该第一电子设备发送绑定响应STUN报文,绑定响应STUN报文包括连接类型。
可选的,该收发器41,还用于在该处理器42确定若连接类型为1对1的P2P且UDP报文中不包含STUN头时,则服务器使用中继地址作为源地址将UDP报文直接转发给第二电子设备。
本申请实施例提供的服务器,可以执行上述方法实施例中服务器的动作,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8,该电子设备可以包括:
收发器51,用于向服务器发送绑定请求STUN报文,绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型,协议类型包括UDP,连接类型包括:1对1的P2P或1对多的P2P;接收来自服务器的绑定响应STUN报文,绑定响应STUN报文包括所述连接类型;
处理器52,用于若绑定响应STUN报文包括的连接类型为1对1的P2P,生成不包含STUN头的UDP报文;
该收发器51,还用于向服务器发送不包含STUN头的UDP报文。
一种可能的实现方式中,该处理器52,还用于若绑定响应STUN报文包括的连接类型为1对1的P2P,生成包含STUN头的UDP报文,STUN头指示UDP报文的目标电子设备;
收发器51,还用于向服务器发送包含STUN头的UDP报文。
可选的,该处理器52,还用于若绑定响应STUN报文包括的连接类型为1对多的P2P,生成包含STUN头的UDP报文,STUN头指示UDP报文的目标电子设备;
该收发器52,还用于向服务器发送包含STUN头的UDP报文。
本申请实施例提供的电子设备,可以执行上述方法实施例中第一电子设备的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上服务器、电子设备的收发器可以为发送器和接收器的集成,而处理器可以以软件通过处理元件调用的形式实现、也可以以硬件的形式实现。例如,处理器可以为单独设立的处理元件,也可以集成在上述设备的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述设备的存储器中,由上述设备的某一个处理元件调用并执行以上处理器的功能。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些处理器可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上方法通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,简称CPU)或其它可以调用程序代码的处理器。再如,这些处理器和收发器可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的另一种服务器的结构示意图。如图9所示,该服务器可以包括:处理器61(例如CPU)、存储器62、接收器63和发送器64;接收器63和发送器64耦合至处理器61,处理器61控制接收器63的接收动作、处理器61控制发送器64的发送动作。存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器NVM,例如至少一个磁盘存储器,存储器62中可以存储各种指令,以用于完成各种处理功能以及实现本申请实施例的方法步骤。可选的,本申请实施例涉及的服务器还可以包括:电源65、通信总线66以及通信端口67。接收器63和发送器64可以集成在服务器的收发信机中,也可以为服务器上独立的收发天线。通信总线66用于实现元件之间的通信连接。上述通信端口67用于实现服务器与其他外设之间进行连接通信。
在本申请实施例中,上述存储器62用于存储计算机可执行程序代码,程序代码包括指令;当处理器61执行指令时,指令使处理器61执行上述方法实施例中服务器的处理动作,使发送器64和接收器63执行上述方法实施例中服务器的收发动作,其实现原理和技术效果类似,在此不再赘述。
图10为本申请实施例提供的另一种电子设备的结构示意图。如图10所示,该电子设备可以包括:处理器71(例如CPU)、存储器72、接收器73和发送器74;接收器73和发送器74耦合至处理器71,处理器71控制接收器73的接收动作、处理器71控制发送器74的发送动作。存储器72可能包含高速RAM存储器,也可能还包括非易失性存储器NVM,例如至少一个磁盘存储器,存储器72中可以存储各种指令,以用于完成各种处理功能以及实现本申请实施例的方法步骤。可选的,本申请实施例涉及的电子设备还可以包括:电源75、通信总线76以及通信端口77。接收器73和发送器74可以集成在电子设备的收发信机中,也可以为电子设备上独立的收发天线。通信总线76用于实现元件之间的通信连接。上述通信端口77用于实现电子设备与其他外设之间进行连接通信。
在本申请实施例中,上述存储器72用于存储计算机可执行程序代码,程序代码包括指令;当处理器71执行指令时,指令使处理器71执行上述方法实施例中电子设备的处理动作,使发送器74和接收器73执行上述方法实施例中电子设备的收发动作,其实现原理和技术效果类似,在此不再赘述。
正如上述实施例,本申请实施例涉及的电子设备可以是手机、平板电脑等无线设备,因此,以电子设备为手机为例:图11为本申请实施例提供的电子设备为手机时的结构框图。参考图11,该手机可以包括:射频(Radio Frequency,RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对手机的各个构成部件进行具体的介绍:
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,例如,将基站的下行信息接收后,给处理器1180处理;另外,将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1131以及其他输入设备1132。触控面板1131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1131上或在触控面板1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1131。除了触控面板1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1141,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1141。进一步的,触控面板1131可覆盖于显示面板1141之上,当触控面板1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图10中,触控面板1131与显示面板1141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1131与显示面板1141集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,光传感器可在手机移动到耳边时,关闭显示面板1141和/或背光。作为运动传感器的一种,加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1160、扬声器1161以及传声器1162可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给比如另一手机,或者将音频数据输出至存储器1120以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块1170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变本申请实施例的本质的范围内而省略。
处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;例如,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
手机还包括给各个部件供电的电源1190(比如电池),可选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
手机还可以包括摄像头1200,该摄像头可以为前置摄像头,也可以为后置摄像头。尽管未示出,手机还可以包括蓝牙模块、GPS模块等,在此不再赘述。
在本申请实施例中,该手机所包括的处理器1180可以用于执行上述数据传输方法实施例,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供了一种芯片,包括处理器和接口。其中接口用于输入输出处理器所处理的数据或指令。处理器用于执行以上方法实施例中提供的方法。该芯片可以应用于服务器中也可以应用于第一电子设备中。
本申请实施例还提供一种程序,该程序在被处理器执行时用于执行以上方法实施例提供的方法。
本申请实施例还提供一种程序产品,例如计算机可读存储介质,该程序产品中存储有指令,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (9)
1.一种数据传输方法,其特征在于,包括:
服务器接收第一电子设备的绑定请求STUN报文,所述绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型;其中,所述协议类型包括UDP,所述连接类型包括:1对1的P2P;
所述服务器向所述第一电子设备发送绑定响应STUN报文,所述绑定响应STUN报文包括所述连接类型,所述连接类型包括:1对1的P2P;
所述服务器接收来自所述第一电子设备的用户数据报协议UDP报文;
若所述UDP报文中不包含STUN头,则所述服务器将所述UDP报文直接转发给所述第二电子设备,所述第二电子设备的标识保存在所述服务器中;
若所述UDP报文中包含STUN头,则所述服务器将所述UDP报文转发给所述STUN头指示的电子设备。
2.根据权利要求1所述的方法,其特征在于,在所述服务器接收第一电子设备的绑定请求STUN报文之后,还包括:
所述服务器验证所述绑定请求STUN报文的完整性;
若通过验证,则所述服务器根据所述连接类型建立所述第一电子设备和所述第二电子设备之间的连接。
3.根据权利要求2所述的方法,其特征在于,在所述服务器根据连接类型建立所述第一电子设备和所述第二电子设备之间的连接之后,还包括:
若所述连接类型为1对1的P2P,则所述服务器保存所述第二电子设备的标识。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述服务器将所述UDP报文直接转发给第二电子设备,包括:
所述服务器使用中继地址作为源地址将所述UDP报文直接转发给所述第二电子设备。
5.一种数据传输方法,其特征在于,包括:
第一电子设备向服务器发送绑定请求STUN报文,所述绑定请求STUN报文包括第二电子设备的IP端口号,协议类型,和连接类型;其中,所述协议类型包括UDP,所述连接类型包括:1对1的P2P;
所述第一电子设备接收来自所述服务器的绑定响应STUN报文,所述绑定响应STUN报文包括所述连接类型,所述连接类型包括:1对1的P2P;
所述第一电子设备生成不包含STUN头的UDP报文;
所述第一电子设备向所述服务器发送不包含STUN头的UDP报文。
6.根据权利要求5所述的方法,其特征在于,在所述第一电子设备接收来自所述服务器的绑定响应STUN报文之后,还包括:
若所述绑定响应STUN报文包括的连接类型为1对1的P2P,所述第一电子设备生成包含STUN头的UDP报文,所述STUN头指示所述UDP报文的目标电子设备;
所述第一电子设备向所述服务器发送包含STUN头的UDP报文。
7.一种服务器,其特征在于,包括:处理器和存储器;
所述存储器存储有一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述服务器能够执行如权利要求1至4任一所述的数据传输方法。
8.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储有一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备能够执行如权利要求5或6所述的数据传输方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1至4任一项所述的方法或者如权利要求5或6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910534795.7A CN112118207B (zh) | 2019-06-20 | 2019-06-20 | 数据传输方法、服务器以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910534795.7A CN112118207B (zh) | 2019-06-20 | 2019-06-20 | 数据传输方法、服务器以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118207A CN112118207A (zh) | 2020-12-22 |
CN112118207B true CN112118207B (zh) | 2021-12-28 |
Family
ID=73795093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910534795.7A Active CN112118207B (zh) | 2019-06-20 | 2019-06-20 | 数据传输方法、服务器以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118207B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363377B (zh) * | 2022-01-11 | 2024-05-17 | 徐工汉云技术股份有限公司 | 一种机械车辆通信方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179581A (zh) * | 2007-12-13 | 2008-05-14 | 北京邮电大学 | 一种采用ice中继候选地址进行媒体传输的方法 |
CN101965712A (zh) * | 2008-03-05 | 2011-02-02 | 索尼电脑娱乐公司 | 用于多重同时连接的对称网络地址转换器的穿越 |
CN102739815A (zh) * | 2011-06-03 | 2012-10-17 | 北京天地互连信息技术有限公司 | 减小视频会议系统网络地址转换穿越的系统时延的方法 |
CN104104741A (zh) * | 2013-04-10 | 2014-10-15 | 友讯科技股份有限公司 | 通过二网络装置的协助完成stun技术的网络系统及其方法 |
CN105827748A (zh) * | 2016-05-12 | 2016-08-03 | 东莞市南星电子有限公司 | 一种基于ICE的SIP穿越Symmetric NAT设备的方法 |
CN105915534A (zh) * | 2016-05-23 | 2016-08-31 | 掌赢信息科技(上海)有限公司 | 一种穿越防火墙的方法和电子设备 |
CN106559504A (zh) * | 2015-09-25 | 2017-04-05 | 华为技术有限公司 | 一种地址转换方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110219113A1 (en) * | 2010-03-02 | 2011-09-08 | Grewal Avininder Pal Singh | Method and system for client assisted stateful handling of packets in a communications network |
US10171511B2 (en) * | 2014-09-25 | 2019-01-01 | Microsoft Technology Licensing, Llc | Media session between network endpoints |
EP3210350B1 (en) * | 2014-10-21 | 2020-05-20 | Twilio, Inc. | Method for providing a miro-services communication platform |
-
2019
- 2019-06-20 CN CN201910534795.7A patent/CN112118207B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179581A (zh) * | 2007-12-13 | 2008-05-14 | 北京邮电大学 | 一种采用ice中继候选地址进行媒体传输的方法 |
CN101965712A (zh) * | 2008-03-05 | 2011-02-02 | 索尼电脑娱乐公司 | 用于多重同时连接的对称网络地址转换器的穿越 |
CN102739815A (zh) * | 2011-06-03 | 2012-10-17 | 北京天地互连信息技术有限公司 | 减小视频会议系统网络地址转换穿越的系统时延的方法 |
CN104104741A (zh) * | 2013-04-10 | 2014-10-15 | 友讯科技股份有限公司 | 通过二网络装置的协助完成stun技术的网络系统及其方法 |
CN106559504A (zh) * | 2015-09-25 | 2017-04-05 | 华为技术有限公司 | 一种地址转换方法及装置 |
CN105827748A (zh) * | 2016-05-12 | 2016-08-03 | 东莞市南星电子有限公司 | 一种基于ICE的SIP穿越Symmetric NAT设备的方法 |
CN105915534A (zh) * | 2016-05-23 | 2016-08-31 | 掌赢信息科技(上海)有限公司 | 一种穿越防火墙的方法和电子设备 |
Non-Patent Citations (3)
Title |
---|
Session Traversal Utilities for NAT (STUN);J. Rosenberg et al;《RFC5389》;20081031;全文 * |
Traversal Using Relays around NAT (TURN):Relay Extensions to Session Traversal Utilities for NAT;R. Mahy et al;《IETF RFC5766》;20100430;全文 * |
一种基于 NAT 穿越的优化 STUN 算法;刘继明等;《西 安 邮 电 大 学 学 报》;20190530;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112118207A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10959124B2 (en) | Uplink data transmission method, terminal, network side device and system | |
US11057376B2 (en) | Method, apparatus, and system for controlling intelligent device, and storage medium | |
CN105024984B (zh) | 权限设置方法、装置及系统 | |
CN109905380B (zh) | 一种分布式系统中的节点控制方法和相关装置 | |
WO2015090248A1 (zh) | 服务器的过载保护方法及装置 | |
EP3179693B1 (en) | Method, apparatus, storage medium and computer program product for establishing a data connection | |
TWI762686B (zh) | 資料傳輸方法及相關產品 | |
CN109995701A (zh) | 一种设备引导的方法、终端以及服务器 | |
CN107276984B (zh) | 游戏直播方法、装置及移动终端 | |
CN109088844B (zh) | 信息拦截方法、终端、服务器及系统 | |
CN107800585B (zh) | 网络通信的方法和装置、推送消息的方法和装置 | |
CN112291181B (zh) | 一种基于多网卡的数据传输方法以及相关装置 | |
CN113489630A (zh) | 配网方法、装置、存储介质及电子终端 | |
CN108323236B (zh) | 一种交互方法和终端 | |
CN107317828B (zh) | 文件下载方法及装置 | |
CN106470234B (zh) | 一种设备发现的方法及装置 | |
CN112118207B (zh) | 数据传输方法、服务器以及电子设备 | |
WO2017000495A1 (zh) | 一种添加联系人的方法及设备 | |
CN107070883B (zh) | 对无线网络进行安全检测的方法及装置 | |
US20140344423A1 (en) | Method, apparatus and system for switching function mode | |
CN104378339B (zh) | 一种使用代理协议的通信方法和装置 | |
CN107995150B (zh) | 身份验证方法及装置 | |
CN113591006A (zh) | 一种基于WebSocket的Web扩展方法和装置 | |
CN107533746A (zh) | 信息保护方法、服务器及终端 | |
CN105792154B (zh) | 一种多媒体短信传输的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |