P2P穿透&StunServer

来源:互联网 发布:第一次嘿嘿的体验知乎 编辑:程序博客网 时间:2024/05/20 04:46

P2P穿透的三大步骤

 

 

1.获取外网地址


客户端、设备端通过stun服务器获取自己的外网地址,并通过punch open / punch try 信令告知对方,此处stun服务器作用为告知对方外网地址。外网地址就是设备在路由上的Session地址映射的IP和端口,内网地址为局域网地址藏在路由后面,必须通过路由映射才能与外网通信。

 

 

 

2.打洞


主控、被控都拿到对端内外网地址。打洞的本质就是往对端内外网发送UDP包达到路由表上有彼此的网络映射。至于打洞能否成功决定因素为主控、被控双方的网络类型(全锥形、受限锥形、端口受限锥形,对称型)。另外每一步请求都会有1s超时重发机制,提高打洞成功率。

 

 

 

 

 

3.发送数据


打洞成功即告知上层发送媒体数据!

 

 

STUN服务器(stund-0.97)


通过select接收请求,并判断请求的网络类型,给予回复!

 

 

 stund-0.97源码:http://download.csdn.net/download/yuanchunsi/10125680

 

 

 

原创粉丝点击