CN111711654B - P2p通讯连接方法、电子设备及计算机可读存储介质 - Google Patents
P2p通讯连接方法、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111711654B CN111711654B CN202010405669.4A CN202010405669A CN111711654B CN 111711654 B CN111711654 B CN 111711654B CN 202010405669 A CN202010405669 A CN 202010405669A CN 111711654 B CN111711654 B CN 111711654B
- Authority
- CN
- China
- Prior art keywords
- client
- communication connection
- candidate item
- service
- network identifier
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种P2P通讯连接方法、电子设备及计算机可读存储介质,涉及通信领域,其中应用于第一客户端的P2P通讯连接方法通过发送第一请求指令给服务器获取服务器根据第一请求指令发送的第一回复指令,其中第一回复指令包括第一客户端的第一网络标识,生成代理服务候选项,通过信令服务模块将代理服务候选项发送给第二客户端,代理服务候选项由接入服务模块根据第一网络标识生成,接收第二客户端的第一服务候选项和连接请求指令,并根据第一服务候选项和连接请求指令发送连接回复指令给第二客户端,在第二客户端接收连接回复指令后与第二客户端建立通讯连接,使得第一客户端和第二客户端能够在任意类型NAT下进行正常P2P通讯连接。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种P2P通讯连接方法、电子设备及计算机可读存储介质。
背景技术
P2P(Peer to Peer,对等网络)是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,可以定义为:网络的参与者共享他们所拥有的一部分硬件资源,这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。
NAT(Network Address Translator)技术将只能作为局域网内部地址而在因特网上不能被识别或直接使用的私有IP地址映射为Internet上合法IP地址,实现私有网络中节点对Internet的访问。NAT设备位于互联网与局域网之间,有翻译网络地址和保护网络安全的作用。
目前完全圆锥NAT和受限圆锥NAT支持P2P通讯,但这两种类型安全级别较低,导致对安全性有要求的网络一般不会采用这两种类型的NAT,但是当进行P2P通讯连接时,其中一端为端口受限锥形NAT,另一端为对称型NAT,或者两端均为对称型NAT时,是无法通过P2P进行通讯连接的。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种P2P通讯连接方法、电子设备和计算机可读存储介质,能够支持任意类型的NAT进行正常P2P通讯。
本发明还提出一种P2P通讯连接方法、电子设备和计算机可读存储介质。
第一方面,本发明的一个实施例提供了P2P通讯连接方法,应用于第一客户端,包括:发送第一请求指令给服务器并获取所述服务器根据所述第一请求指令发送的第一回复指令,所述第一回复指令包括所述第一客户端的第一网络标识;生成代理服务候选项,通过信令服务模块将所述代理服务候选项发送给第二客户端,所述代理服务候选项由接入服务模块根据所述第一网络标识生成;接收所述第二客户端发送的第一服务候选项和连接请求指令;根据所述第一服务候选项和所述连接请求指令发送连接回复指令给所述第二客户端;在所述第二客户端接收所述连接回复指令后与所述第二客户端建立通讯连接。
在一些实施例中,所述生成代理服务候选项,包括:根据所述第一网络标识生成第二服务候选项;查询和获取所述接入服务模块的代理网络标识,通过所述第二服务候选项和所述代理网络标识生成所述代理服务候选项。
在一些实施例中,所述第一服务候选项由所述第二客户端的第二网络标识生成,所述第二网络标识用于标识所述第二客户端的公网地址和公网端口。
在一些实施例中,所述连接请求指令由所述第二客户端根据所述代理服务候选项发送给所述接入服务模块,并由所述接入服务模块发送给所述第一客户端。
第二方面,本发明的一个实施例提供了P2P通讯连接方法,应用于第二客户端,包括:发送第二请求指令给服务器并获取所述服务器根据所述第二请求指令发送的第二回复指令,所述第二回复指令包括所述第二客户端的第二网络标识;接收第一客户端发送的代理服务候选项,通过信令服务模块将第一服务候选项发送给第一客户端,所述第一服务候选项由所述第二网络标识生成;根据所述代理服务候选项发送连接请求指令给所述第一客户端,接收所述第一客户端根据所述第一服务候选项和所述连接请求指令发送的连接回复指令;接收到所述连接回复指令后与所述第一客户端建立通讯连接。
在一些实施例中,所述代理服务候选项由第一客户端根据接入服务模块的代理网络标识和第二服务候选项生成,所述第二服务候选项由所述第一客户端的第一网络标识生成,所述代理网络标识用于标识所述接入服务模块的公网地址和公网端口。
在一些实施例中,所述连接请求指令由所述第二客户端根据所述代理服务候选项发送给所述接入服务模块,并由所述接入服务模块发送给所述第一客户端。
在一些实施例中,所述第一网络标识由所述第一客户端通过信令服务模块发送第一请求指令给服务器后获取所述服务器根据所述第一请求指令发送的第一回复指令,所述第一回复指令包括所述第一客户端的第一网络标识,所述第一网络标识用于标识所述第一客户端的公网地址和公网端口。
第三方面,本发明的一个实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的P2P通讯连接方法或第二方面所述的P2P通讯连接方法。
第四方面,本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面所述的P2P通讯连接方法或第二方面所述的P2P通讯连接方法。
本发明的有益效果是:
本发明提供的P2P通讯连接方法、电子设备及计算机可读存储介质中,通过发送第一请求指令给服务器获取服务器根据第一请求指令发送的第一回复指令,生成代理服务候选项,通过信令服务模块将代理服务候选项发送给第二客户端,代理服务候选项由接入服务模块根据第一网络标识生成,接收第二客户端的第一服务候选项和连接请求指令,并根据第一服务候选项和连接请求指令发送连接回复指令给第二客户端,在第二客户端接收连接回复指令后与第二客户端建立通讯连接,使得第一客户端和第二客户端能够在任意类型NAT下进行正常P2P通讯连接。
附图说明
图1是本发明实施例中P2P通讯连接方法的一具体实施例流程示意图;
图2是本发明实施例中P2P通讯连接方法的一具体应用实例;
图3是本发明实施例中P2P通讯连接方法的另一具体实施例流程示意图。
具体实施方式
以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
在本发明实施例的描述中,如果涉及到“多个”,其含义是两个以上,如果涉及到“以上”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
P2P(Peer to Peer,对等网络)是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,可以定义为:网络的参与者共享他们所拥有的一部分硬件资源,这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。
NAT(Network Address Translator)技术将只能作为局域网内部地址而在因特网上不能被识别或直接使用的私有IP地址映射为Internet上合法IP地址,实现私有网络中节点对Internet的访问。NAT设备位于互联网与局域网之间,有翻译网络地址和保护网络安全的作用。
NAT的四种类型:
(1)完全圆锥(Full Cone)NAT
完全锥形NAT将从同个内网IP与端口号发出的所有请求映射为相同的外部IP地址与端口号。同理,任何外网主机能够通过向这个内网主机被映射过的外网地址发送数据包。
(2)受限圆锥(Restricted Cone)NAT
受限锥形NAT将从同个内部IP地址和端口号发出的所有请求映射为相同的外部IP地址与端口号。但与完全锥形NAT不同的是,外网主机(IP地址为X)只能够向先前向IP地址X发送过数据包的内部主机发送数据,从而可以拒绝非请求(unsolicited)的数据包,支持数据包过滤功能。
(3)端口受限锥形(Port Restricted Cone)NAT
端口受限锥形NAT与受限锥形NAT类似,不同的是加了端口号的限制。IP地址为X,端口号P的外部主机只能够向先前已经向IP地址X、端口号P发送过数据包的内部主机发送数据包。
(4)对称型(Symmetric)NAT
对称型NAT将把从相同的内部IP地址与端口号发出,以及目的IP地址与端口号也相同的所有请求映射为相同的外部IP地址和端口号。数据包在经过此类型的NAT时候,源地址与端口即使相同,但目的地不同的话,将为其分配不同的映射地址。此外,只有提前收到内网主机X发来数据包的外部主机才可以向该内部主机发送数据包。
目前完全圆锥NAT和受限圆锥NAT支持P2P通讯,但这两种类型安全级别较低,导致对安全性有要求的网络一般不会采用这两种类型的NAT,但是当进行P2P通讯连接时,其中一端为端口受限锥形NAT,另一端为对称型NAT,或者两端均为对称型NAT时,是无法通过P2P进行通讯连接的。
基于此,本发明提供了一种P2P通讯连接方法、电子设备及计算机可读存储介质,涉及通信领域,其中应用于第一客户端的P2P通讯连接方法通过发送第一请求指令给服务器获取服务器根据第一请求指令发送的第一回复指令,其中第一回复指令包括第一客户端的第一网络标识,生成代理服务候选项,通过信令服务模块将代理服务候选项发送给第二客户端,代理服务候选项由接入服务模块根据第一网络标识生成,接收第二客户端的第一服务候选项和连接请求指令,并根据第一服务候选项和连接请求指令发送连接回复指令给第二客户端,在第二客户端接收连接回复指令后与第二客户端建立通讯连接,使得第一客户端和第二客户端能够在任意类型NAT下进行正常P2P通讯连接。
第一方面,本发明实施例中提供了一种P2P通讯连接方法,使得不同客户端之间能够在任意类型NAT下进行正常P2P通讯连接。
其中针对于NAT类型,由于完全圆锥NAT和受限圆锥NAT支持P2P通讯但安全性较低,因此本发明实施例中不对这、这两种NAT类型进行具体扩展,本发明实施例针对于受限锥形NAT和对称型NAT进行讨论,第一客户端与第二客户端两者的NAT类型不一样,例如第一客户端为端口受限锥形NAT,第二客户端为对称型NAT;或者第一客户端和第二客户端均为对称型NAT,第一客户端和第二客户端是无法通过P2P进行正常通讯。
参照图1,示出了本发明实施例中P2P通讯连接方法的流程示意图,该P2P通讯连接方法应用于第一客户端,其具体包括步骤:
S110,发送第一请求指令给服务器并获取服务器根据第一请求指令发送的第一回复指令;
S120,生成代理服务候选项,通过信令服务模块将代理服务候选项发送给第二客户端;
S130,接收第二客户端发送的第一服务候选项和连接请求指令;
S140,根据第一服务候选项和连接请求指令发送连接回复指令给第二客户端;
S150,在第二客户端接收连接回复指令后与第二客户端建立通讯连接。
在步骤S110中,第一客户端通过信令服务模块发送第一请求指令给服务器,通过第一请求指令向服务器获取第一客户端的第一网络标识。当服务器接收到第一客户端的第一请求指令时,根据该第一请求指令确定第一客户端的访问请求,从而发送第一回复指令给第一客户端进行接收,第一客户端接收到该第一回复指令后,识别并获取第一回复指令包括的第一网络标识,其中第一网络标识包括第一客户端最外层NAT的公网IP和公网端口。
在步骤S120中,第一客户端通过服务器返回的第一回复指令中获取第一网络标识后,在第一客户端上生成代理服务候选项,通过信令服务模块把生成的代理服务候选项发送第二客户端,其中代理服务候选项由接入服务模块根据第一网络标识生成。
在一些实施例中,第一客户端通过服务器返回的第一回复指令中获取第一网络标识后,将该第一网络标识在第一客户端处生成第二服务候选项,生成第二服务候选项后,第一客户端会查询接入模块的代理网络标识,并通过接入服务模块的代理网络标识生成代理服务候选项,将生成的代理服务候选项通过信令服务模块发送给第二客户端,该代理服务候选项包括接入服务模块的代理网络标识,用于指向接入服务模块。将代理服务候选项通过信令服务模块发送给第二客户端进行接收。
在步骤S130中,接收第二客户端通过信令服务模块发送过来的第一服务候选项和连接请求指令,第二客户端接收到该代理服务候选项后,通过读取代理服务候选项,从而知道代理服务候选项中包含的代理网络标识,该代理网络标识指向的是接入服务模块代理的公网IP及公网端口。
在一些实施例中,第一服务候选项由第二客户端的第二网络标识生成,其中第二网络标识指向的是第二客户端最外层NAT的公网IP及公网端口。在实际应用中,第二客户端同样向服务器发送第二请求指令以获取第二客户端的第二网络标识,当服务器接收到第二客户端的第二请求指令时,根据该第二请求指令确定第二客户端的访问请求,从而发送第二回复指令给第二客户端进行接收,第二客户端接收到该第二回复指令后,识别并获取第二回复指令包括的第二网络标识,其中第二网络标识包括第二客户端最外层NAT的公网IP和公网端口;第二客户端接收到该第二回复指令后,识别并获取第二网络标识,并通过该第二网络标识生成第一服务候选项后,发送给信令服务模块,信令服务模块接收到该第一服务候选项后,转发给第一客户端进行接收,第一客户端接收第一服务候选项后进行识别获取第一服务候选项中包含的第二网络标识的信息从而知道第二客户端的第二网络标识,即第二客户端最外层NAT的公网IP及公网端口。
在一些实施例中,第二客户端向第一客户端发送连接请求指令是由第二客户端根据接收到的代理服务候选项,从中获取指向的公网IP及公网端口,发送给接入服务模块,接入服务模块接收该连接请求指令后再转发给第一客户端进行接收。
在步骤S140中,第一客户端接收第一服务候选项和连接请求指令后,通过识别获取接收到的第一服务候选项得到第二客户端的第二网络标识,并且第二客户端通过代理服务候选项得到第一客户端的代理网络标识后,第二客户端向第一客户端发送连接请求指令,用于向第一客户端建立P2P通讯连接,第一客户端接收连接请求指令后,根据第一服务候选项中的第二网络标识,发送连接回复指令给第二客户端。
在步骤S150中,第一客户端发送连接回复指令给第二客户端,在第二客户端接收到连接回复指令后,第一客户端成功建立与第二客户端的P2P通讯连接。
在可能实施的应用示例中,如图2所示,第一客户端、第二客户端、服务器、接入服务模块、信令服务模块,其中第一客户端、接入服务模块和信令服务模块部署于数据中心中。
在实际应用时,为了建立P2P连接,在数据中心部署P2P应用,即使用具有公网IP的STUN服务和信令服务模块,其中数据中心主要是在互联网基础设施上通过低直流电源驱动运行来传递、计算、存储、展示数据信息,数据中心是一个可以全球协作的特定设备网络,通俗来讲就是计算机机房。
STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。
当第一客户端通过信令服务模块向STUN服务发送第一请求指令时,STUN服务会根据该第一请求指令返回第一回复指令给第一客户端,其中包括第一网络标识,实际上是第一客户端最外层的NAT的公网IP及公网端口;相应的,第二客户端也会通过路由器连接Internet向STUN服务发送第二请求指令,从而获取第二客户端最外层NAT的公网IP及公网端口。
第一客户端获取到最外层的NAT的公网IP及公网端口后,生成第二服务候选项,其中第二服务候选项包括了第一客户端最外层的NAT的公网IP及公网端口的信息,之后查询新增的接入服务模块代理的公网IP及公网端口,将查询到的该接入服务模块的公网IP及公网端口替换第二服务候选项中第一客户端最外层的NAT的公网IP及公网端口的信息,从而生成代理服务候选项。将代理服务候选项通过信令服务模块发送给第二客户端进行接收,并且接收第二客户端的第一服务候选项,其中第一服务候选项是通过第二客户端最外层的NAT的公网IP及公网端口生成的。在实际应用中,第一客户端与第二客户端向STUN服务发送获取公网IP和公网端口的请求指令和互相发送服务候选项的顺序不存在先后,旨在表述具体的实现过程,即第一客户端可以比第二客户端先发送请求指令给STUN服务,也可以比第二客户端较晚发送请求指令给STUN服务;第一客户端先发送代理服务候选项给第二客户端,第二客户端再发送第一服务候选项给第一客户端;也可以第二客户端先发送第一服务候选项给第一客户端,第一客户端再发送代理服务候选项给第二客户端。
当第一客户端接收到第一服务候选项,第二客户端接收到代理服务候选项后,在实际应用中,可以是第二客户端向第一客户端先发送连接请求指令,也可以是第一客户端向第二客户端先发送连接请求指令,本发明实施例以第二客户端向第一客户端先发送连接请求指令为例,如果没有新增接入服务模块,该连接请求指令并不能发送给第一客户端,而被最外层NAT所阻挡导致第一客户端无法接收到该连接请求指令,因此该连接请求指令实际是发送到接入服务模块上,再由接入服务模块转发给第一客户端,例如访问接入服务模块的21107端口,实际上访问的是第一客户端的48998端口,其中21107端口和48998端口均为自定义端口,用于数据通讯,在实际应用中可根据具体情况进行定义或选择端口号进行数据通讯。第一客户端根据该连接请求指令,返回连接回复指令给第二客户端,由于连接请求指令从第二客户端内部穿透多个层级的NAT发送给第一客户端,所以第一客户端识别出了第二客户端具体指向的位置,因此发送给第二客户端给连接回复指令可以正确发送到第二客户端具体的公网IP及公网端口进行接收,从而建立P2P通讯连接。
本发明实施例中提供了一种P2P通讯连接方法,应用于第一客户端,通过发送第一请求指令给服务器获取服务器根据第一请求指令发送的第一回复指令,其中第一回复指令包括第一客户端的第一网络标识,生成代理服务候选项,通过信令服务模块将代理服务候选项发送给第二客户端,代理服务候选项由接入服务模块根据第一网络标识生成,接收第二客户端的第一服务候选项和连接请求指令,并根据第一服务候选项和连接请求指令发送连接回复指令给第二客户端,在第二客户端接收连接回复指令后与第二客户端建立通讯连接,使得第一客户端和第二客户端能够在任意类型NAT下进行正常P2P通讯连接。
第二方面,本发明实施例中提供了一种P2P通讯连接方法,应用于第二客户端,发送第二请求指令给服务器并获取服务器根据第二请求指令发送的第二回复指令,第二回复指令包括第二客户端的第二网络标识,接收第一客户端发送的代理服务候选项,通过信令服务模块将第一服务候选项发送给第一客户端,第一服务候选项由第二网络标识生成,根据代理服务候选项发送连接请求指令给第一客户端,接收第一客户端根据第一服务候选项和连接请求指令发送的连接回复指令,接收到连接回复指令后与第一客户端建立通讯连接,使得第一客户端和第二客户端能够在任意类型NAT下进行正常P2P通讯连接。
参照图3,示出了本发明实施例中P2P通讯连接方法的流程示意图,该P2P通讯连接方法应用于第二客户端,其具体包括步骤如下:
S210,发送第二请求指令给服务器并获取服务器根据第二请求指令发送的第二回复指令;
S220,接收第一客户端发送的代理服务候选项,通过信令服务模块将第一服务候选项发送给第一客户端;
S230,根据代理服务候选项发送连接请求指令给所述第一客户端;
S240,接收所述第一客户端根据第一服务候选项和连接请求指令发送的连接回复指令;
S250,接收到连接回复指令后与第一客户端建立通讯连接。
在步骤S210中,第二客户端发送第二请求指令给服务器,通过第二请求指令向服务器获取第二客户端的第二网络标识,当服务器接收到第二客户端的第二请求指令时,根据该第二请求指令确定第二客户端的访问请求,从而发送第二回复指令给第二客户端进行接收,第二客户端接收到该第二回复指令后,识别并获取第二回复指令包括的第二网络标识,其中第二网络标识包括第二客户端最外层NAT的公网IP和公网端口。
在步骤S220中,第二客户端接收第一客户端发送的代理服务候选项,并且第二客户端通过服务器返回的第二回复指令中获取第二网络标识后,将该第二网络标识通过接入服务模块生成第一服务候选项,将生成的第一服务候选项通过信令服务模块发送给第一客户端。
在步骤S230中,第二客户端通过代理服务候选项得到第一客户端的代理网络标识,第二客户端根据该代理网络标识向第一客户端发送连接请求指令,用于与第一客户端建立P2P通讯连接。
在一些实施例中,代理服务候选项由第一客户端根据接入服务模块的代理网络标识和第二服务候选项生成。第一客户端查询并获取接入服务模块的代理网络标识,即接入服务模块所拥有的公网IP及公网端口。将查询到的接入模块的代理网络标识替换第二服务候选项中包括的第一网络标识,从而生成代理服务候选项,该代理服务候选项包括接入服务模块的代理网络标识,用于指向接入服务模块。将代理服务候选项通过信令服务模块发送给第二客户端进行接收,第二客户端接收到该代理服务候选项后,通过读取代理服务候选项,从而知道代理服务候选项中包含的代理网络标识,该代理网络标识指向的是接入服务模块代理的公网IP及公网端口。
在一些实施例中,第二客户端向第一客户端发送连接请求指令是由第二客户端根据接收到的代理服务候选项,从中获取指向的公网IP及公网端口,发送给接入服务模块,接入服务模块接收该连接请求指令后再转发给第一客户端进行接收。
在一些实施例中,第一客户端通过信令服务模块发送第一请求指令给服务器,通过第一请求指令向服务器获取第一客户端的第一网络标识。当服务器接收到第一客户端的第一请求指令时,根据该第一请求指令确定第一客户端的访问请求,从而发送第一回复指令给第一客户端进行接收,第一客户端接收到该第一回复指令后,识别并获取第一回复指令包括的第一网络标识,其中第一网络标识包括第一客户端最外层NAT的公网IP和公网端口。
在步骤S240中,第二客户端接收所述第一客户端根据第一服务候选项和连接请求指令发送的连接回复指令。在实际应用中,第一客户端接收连接请求指令后,根据第一服务候选项中的第二网络标识,发送连接回复指令给第二客户端进行接收。
在步骤S250中,第二客户端接收到该连接回复指令后,与第一客户端成功建立P2P通讯连接。
本发明实施例中提供了一种P2P通讯连接方法,应用于第二客户端,通过发送第二请求指令给服务器并获取第二回复指令,该第二回复指令中包括第二客户端的第二网络标识;接收第一客户端的代理候选项,并根据第二网络标识生成第一服务候选项通过接入模块发送给第一客户端,根据代理候选项发送连接请求指令给第一客户端,并接收第一客户端的连接回复指令,与第一客户端建立P2P通讯连接。
第三方面,本发明实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。
第四方面,本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法;
在一些实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第三方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中的P2P通讯连接方法或第二方面实施例中的P2P通讯连接方法。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所述技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
Claims (10)
1.一种P2P通讯连接方法,应用于第一客户端,其特征在于,包括:
发送第一请求指令给服务器并获取所述服务器根据所述第一请求指令发送的第一回复指令,所述第一回复指令包括所述第一客户端的第一网络标识;
生成代理服务候选项,通过信令服务模块将所述代理服务候选项发送给第二客户端,所述代理服务候选项由接入服务模块根据所述第一网络标识生成;
接收所述第二客户端发送的第一服务候选项和连接请求指令,所述第一服务候选项由所述第二客户端的第二网络标识生成;
根据所述第一服务候选项和所述连接请求指令发送连接回复指令给所述第二客户端;
在所述第二客户端接收所述连接回复指令后与所述第二客户端建立通讯连接。
2.根据权利要求1所述的P2P通讯连接方法,其特征在于,所述生成代理服务候选项,包括:
根据所述第一网络标识生成第二服务候选项;
查询和获取所述接入服务模块的代理网络标识,通过所述第二服务候选项和所述代理网络标识生成所述代理服务候选项。
3.根据权利要求1所述的P2P通讯连接方法,其特征在于,所述第一服务候选项由所述第二客户端的第二网络标识生成,所述第二网络标识用于标识所述第二客户端的公网地址和公网端口。
4.根据权利要求1所述的P2P通讯连接方法,其特征在于,所述连接请求指令由所述第二客户端根据所述代理服务候选项发送给所述接入服务模块,并由所述接入服务模块发送给所述第一客户端。
5.一种P2P通讯连接方法,应用于第二客户端,其特征在于,包括:
发送第二请求指令给服务器并获取所述服务器根据所述第二请求指令发送的第二回复指令,所述第二回复指令包括所述第二客户端的第二网络标识;
接收第一客户端发送的代理服务候选项,通过信令服务模块将第一服务候选项发送给第一客户端,所述第一服务候选项由所述第二网络标识生成,所述代理服务候选项由接入服务模块根据所述第一客户端的第一网络标识生成;
根据所述代理服务候选项发送连接请求指令给所述第一客户端;
接收所述第一客户端根据所述第一服务候选项和所述连接请求指令发送的连接回复指令;
接收到所述连接回复指令后与所述第一客户端建立通讯连接。
6.根据权利要求5所述的P2P通讯连接方法,其特征在于,所述代理服务候选项由第一客户端根据接入服务模块的代理网络标识和第二服务候选项生成,所述第二服务候选项由所述第一客户端的第一网络标识生成,所述代理网络标识用于标识所述接入服务模块的公网地址和公网端口。
7.根据权利要求6所述的P2P通讯连接方法,其特征在于,所述连接请求指令由所述第二客户端根据所述代理服务候选项发送给所述接入服务模块,并由所述接入服务模块发送给所述第一客户端。
8.根据权利要求6所述的P2P通讯连接方法,其特征在于,所述第一网络标识由所述第一客户端通过所述信令服务模块发送第一请求指令给服务器后获取所述服务器根据所述第一请求指令发送的第一回复指令,所述第一回复指令包括所述第一客户端的第一网络标识,所述第一网络标识用于标识所述第一客户端的公网地址和公网端口。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4任一项所述的P2P通讯连接方法或权利要求5至8任一项所述的P2P通讯连接方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至4任一项所述的P2P通讯连接方法或权利要求5至8任一项所述的P2P通讯连接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010405669.4A CN111711654B (zh) | 2020-05-14 | 2020-05-14 | P2p通讯连接方法、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010405669.4A CN111711654B (zh) | 2020-05-14 | 2020-05-14 | P2p通讯连接方法、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711654A CN111711654A (zh) | 2020-09-25 |
CN111711654B true CN111711654B (zh) | 2023-03-31 |
Family
ID=72537228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010405669.4A Active CN111711654B (zh) | 2020-05-14 | 2020-05-14 | P2p通讯连接方法、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711654B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002182A (zh) * | 2022-05-31 | 2022-09-02 | 上海新致软件股份有限公司 | 网络节点连接方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860474A (zh) * | 2009-04-08 | 2010-10-13 | 中兴通讯股份有限公司 | 基于对等网络的资源信息处理方法及对等网络 |
CN103024085A (zh) * | 2013-01-11 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种处理p2p节点请求的系统及方法 |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN109088958A (zh) * | 2018-09-19 | 2018-12-25 | 腾讯数码(天津)有限公司 | 数据传输方法及计算机设备 |
CN109660637A (zh) * | 2018-11-16 | 2019-04-19 | 深圳市网心科技有限公司 | P2p打洞传输方法和系统、电子装置及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9560141B2 (en) * | 2010-12-29 | 2017-01-31 | Open Invention Network, Llc | Method and apparatus of performing peer-to-peer communication establishment |
-
2020
- 2020-05-14 CN CN202010405669.4A patent/CN111711654B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860474A (zh) * | 2009-04-08 | 2010-10-13 | 中兴通讯股份有限公司 | 基于对等网络的资源信息处理方法及对等网络 |
CN103024085A (zh) * | 2013-01-11 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种处理p2p节点请求的系统及方法 |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN109088958A (zh) * | 2018-09-19 | 2018-12-25 | 腾讯数码(天津)有限公司 | 数据传输方法及计算机设备 |
CN109660637A (zh) * | 2018-11-16 | 2019-04-19 | 深圳市网心科技有限公司 | P2p打洞传输方法和系统、电子装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111711654A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8693392B2 (en) | Peer-to-peer communication system and method | |
US7676579B2 (en) | Peer to peer network communication | |
CN109981803B (zh) | 业务请求处理方法及装置 | |
CN108777722B (zh) | 多系统组网通信方法、装置、移动终端及存储介质 | |
US20130198332A1 (en) | Processing method, proxy processing agent, system and method for filling a routing table of a dht client node, router and dht client node | |
CN105471748B (zh) | 一种应用分流方法和装置 | |
CN103618801B (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN107094110B (zh) | 一种dhcp报文转发方法及装置 | |
CN109525684B (zh) | 报文转发方法和装置 | |
CN112565318A (zh) | 一种服务器安全防御方法及系统、通信设备、存储介质 | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
US20080240132A1 (en) | Teredo connectivity between clients behind symmetric NATs | |
CN113315848B (zh) | 访问控制方法、装置及设备 | |
CN111031129B (zh) | 访问请求处理方法、处理装置、电子设备及存储介质 | |
CN111711654B (zh) | P2p通讯连接方法、电子设备及计算机可读存储介质 | |
CN112866413A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
US8681760B2 (en) | Network positioning system and terminal positioning device | |
JP2014135592A (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
CN114598532B (zh) | 连接建立方法、装置、电子设备和存储介质 | |
CN101557336B (zh) | 一种建立网络隧道的方法,数据处理方法及相关设备 | |
CN113014682B (zh) | 实现网络动态性的方法、系统、终端设备及存储介质 | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
KR20190075391A (ko) | 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템 | |
KR101962022B1 (ko) | 에지 서버를 활용한 피-투-피 접근 시스템 및 그 방법 | |
CN110708249A (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 519125 floors 1-2, tefa information technology building, Qiongyu Road, Science Park, Nanshan District, Shenzhen, Guangdong Province Patentee after: Shenzhen Weier Vision Technology Co.,Ltd. Address before: 519125 floors 1-2, tefa information technology building, Qiongyu Road, Science Park, Nanshan District, Shenzhen, Guangdong Province Patentee before: SHENZHEN WEIER VISUAL SENSE MEDIUM Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |