一种P2P穿透同步方法及系统技术方案

技术编号:14549526 阅读:50 留言:0更新日期:2017-02-04 22:36
本发明专利技术涉及网络技术领域,通过提供一种包括:客户端向公网服务器发送数据包时,所述数据包包括第一发送时间T1;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间T1、第二发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透等步骤P2P穿透同步方法。使用本方法可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种P2P穿透同步方法及系统
技术介绍
软件客户端位于NAT(NetworkAddressTranslation,网络地址转换)后或多重NAT后,与部署在公网的服务器建立网络连接,从而获取到自己的NAT地址,与其他客户端交换NATIP后发起P2P(peer-to-peer,称为对等联网或点对点技术),即网络上两个点之间直接通信。这种直接通信是没有速度限制的,速度由二点之间的网络传输速度决定,并且只依赖网络中两个点(参与者)的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上,这种技术可以大大减轻服务器的负担。但由于每个客户端的时间无法做到毫秒级的时间同步,故客户端发起P2P穿透的时机总是有先有后,因而造成P2P穿透失败概率加大。
技术实现思路
本专利技术的目的在于提供一种P2P穿透同步方法,旨在解决现有的P2P穿透失败概率较大的问题。第一方面,一种P2P穿透同步方法,该方法包括以下步骤:客户端向公网服务器发送数据包时,所述数据包包括发送时间T1;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间T1、发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。进一步地,所述数据包还包括:客户端的本地IP地址和端口。进一步地,所述返回数据包还包括:客户端的NAT地址。第二方面,一种P2P穿透同步系统,所述系统包括:客户端、公网服务器以及交换服务器;所述客户端至少为2个;所述客户端用于向公网服务器发送数据包,所述数据包包括第一发送时间T1;所述公网服务器用于接收所述数据包后,向所述客户端发送返回数据包,所述返回数据包包括所述第一发送时间T1以及第二发送时间TN;所述客户端还用于接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间T1以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2;所述客户端还用于确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;所述交换服务器用于客户端交换NAT地址;所述客户端还用于等到同步穿透时间TP时,客户端双方同时发起P2P穿透。进一步地,所述数据包还包括:客户端的本地IP地址和端口。进一步地,所述返回数据包还包括:客户端的NAT地址。有益效果:本专利技术通过提供一种P2P穿透同步方法,所述方法包括以下步骤:客户端向公网服务器发送数据包时,所述数据包包括发送时间T1;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间T1、发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。使用本方法可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。附图说明图1是本专利技术一实施例提供的P2P穿透同步方法流程图;图2是本专利技术一实施例提供的P2P穿透同步系统的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施方式对本专利技术作进一步详细说明。图1示出了本本专利技术一实施例提供的P2P穿透同步方法,该方法包括以下步骤:S101、客户端向公网服务器发送数据包时,所述数据包包括发送时间T1。在本步骤中,启动公网服务器和交换服务器,启动P2P客户端,即客户端A和客户端B,其中客户端A向公网服务器发送数据包时,数据包里包括发送数据包的发送时间T1,同时还数据包里还包括客户端的本地IP地址和端口。S102、公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间T1、发送时间TN。在本步骤中,公网服务器接收步骤S101中客户端A向公网服务器发送数据包后,向客户端A发送返回数据包,返回数据包包括发送时间T1、发送时间TN,同时还可以包括客户端的NAT地址。S103、客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2。在步骤中,客户端A接收到公网服务器发送的返回数据包,记录接收返回数据包的接收时间T2,再根据客户端A向公网服务器发送数据包的发送时间T1、公网服务器向客户端A发送返回数据包的发送时间TN和客户端A接收返回数据包的接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2。S104、客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间。在本步骤中,客户端协商确定同步穿透时间,同步穿透时间为TP=T+N,其中N为客户端协商时间,例如为N为10秒后,客户端A将同步穿透时间TP和自己的NAT地址,发送给交换服务器,交换服务器将同步穿透时间TP和客户端A的NAT地址发送给客户端B;客户端B也将自己的NAT地址发送给交换服务器,交换服务器再将客户端B的NAT地址返回客户端A。S105、客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。在本步骤中,客户端A,B定时到同步穿透时间TP,时间到即向对方客户端NAT地址发起P2P穿透。通过计算同步穿透时间,可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。另一方面,本专利技术还提供一种P2P穿透同步系统,该系统20包括:客户端21、公网服务器22以及交换服务器23;客户端21至少为2个;客户端21用于向公网服务器发送数据包,该数据包包括第一发送时间T1;公网服务器22用于接收所述数据包后,向所述客户端21发送返回数据包,所述返回数据包包括所述第一发送时间T1以及第二发送时间TN;...

【技术保护点】
一种P2P穿透同步方法,其特征在于,所述方法包括以下步骤:客户端向公网服务器发送数据包,所述数据包包括第一发送时间T1;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括所述第一发送时间T1以及第二发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间T1以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2‑T1)/2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。

【技术特征摘要】
1.一种P2P穿透同步方法,其特征在于,所述方法包括以下步骤:
客户端向公网服务器发送数据包,所述数据包包括第一发送时间
T1;
公网服务器接收所述数据包后,向客户端发送返回数据包,所述
返回数据包包括所述第一发送时间T1以及第二发送时间TN;
客户端接收返回数据包时,记录接收返回数据包的接收时间T2,
并根据所述第一发送时间T1以及第二发送时间TN和接收时间T2,
计算出公网服务器校准时间T=TN+(T2-T1)/2;
客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间
为TP=T+N,其中N为客户端协商时间;
客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。
2.根据权利要求1所述的P2P穿透同步方法,其特征在于,所述
数据包还包括:客户端的本地IP地址和端口。
3.根据权利要求1或2所述的P2P穿透同步方法,其特征在于,
所述返回数据包还包括:客户端的NAT地址。
4.一种P2P穿透同步系统,其特征在于,所述系统包括:客户端、
公网服...

【专利技术属性】
技术研发人员:凌奇伟
申请(专利权)人:深圳市有信网络技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1