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

P2P穿透StunServer相关推荐

  1. P2P穿透(ENet丢包重传)

    资源链接:http://download.csdn.net/download/yuanchunsi/10159049 P2P穿透成功后,获得对端IP和端口通过ENet进行连接传输数据,解决了UDP丢包 ...

  2. P2P穿透四种NAT类型

    P2P穿透&四种NAT类型 以下对四种NAT类型分别予以说明: 1.全锥形NAT IP.端口都不受限.只要客户端由内到外打通一个洞之后(NatIP:NatPort -> A:P1),其他 ...

  3. 基于C++的P2P穿透文件传输

    VC++ P2P穿透文件传输,目前只开放客户端开发,参考Test目录下的源码.如果无法运行,请先安装vcredist_x86_vs2010.exe. 项目源代码: 部分代码: 程序运行截图:

  4. pwnat——一种无需第三方服务器就能完成NAT点对点P2P穿透的基于UDP打洞技术的新方法

    pwnat--一种无需第三方服务器就能完成NAT点对点P2P穿透的基于UDP打洞技术的新方法 简介 传统的udp打洞 UDP 打洞原理及过程 pwnat技术,无需第三方服务器! pwnat用法 pwn ...

  5. nps p2p穿透中遇到的NAT类型过低的问题解决

    我为什么需要p2p穿透呢,因为我喜欢带着轻便的surface go在外用,但是由于性能和存储的原因,还是家里的台式机香啊.蒲公英,向日葵等提供的内网穿透大多数时候都是走的服务器转发,自己有时候用frp ...

  6. 小伙用C++代码实现P2P穿透文件传输,网友集体打call!

    VC++ P2P穿透文件传输,目前只开放客户端开发,参考Test目录下的源码.如果无法运行,请先安装vcredist_x86_vs2010.exe.文件说明: 1.UDPServer.exe主要作用是 ...

  7. WebRTC 实现P2P音视频通话——搭建stun/turn P2P穿透和转发服务器

    WebRTC 实现P2P音视频通话 WebRTC 实现P2P音视频通话--搭建信令服务器 WebRTC 实现P2P音视频通话--搭建stun/turn P2P穿透和转发服务器 文章目录 WebRTC ...

  8. C# dotnet core TCP NAT UDP P2P 穿透 小引

    Mark:Linyee Jiaguoxinzhi TCP NAT UDP P2P 穿透 国内 p2p 文章偏少了. 其实不会,,只是加上C#就比较少了.其实还是很多,只是有点千篇一律. dotnet ...

  9. 免费P2P穿透通信(1) 软件架构介绍

    概述 Wkf lib p2p模块提供了P2P网络穿透的功能,实现P2P网络通信.Wkf lib p2p模块使用C/C++编程语言开发,以软件库的方式提供给用户使用,方便用户加载到各种不同的软件系统中使 ...

最新文章

  1. oom 如何避免 高并发_【转载】如何避免OOM?看Greenplum的最佳实践
  2. Python中的Numpy(4.矩阵操作(算数运算,矩阵积,广播机制))
  3. Linux内核defconfig在哪,Linux内核根目录中的配置文件.config中包含了许多宏定义,...
  4. golang mac 环境变量_macOS 配置 golang 运行环境
  5. 聊聊高并发(五)理解缓存一致性协议以及对并发编程的影响
  6. 替换SAP Fiori Logo不成功的workaround
  7. 使用Slim框架实现基本的REST API
  8. 前端学习(3288):object.define
  9. Jekyll + Coding Pages 搭建静态博客
  10. 使用requests库发起gbk编码的get请求
  11. [Jmeter][基础]Jmeter连接IMPALA
  12. CSS实例——远视图
  13. 抖音私聊不封号技术,教你怎么避免踩雷?
  14. roboware安装包
  15. 在阿里云服务器上搭建MQTT服务
  16. oracle lag、lead函数
  17. Ubuntu16.04下Qt交叉编译开发环境搭建
  18. 使用foremost对磁盘镜像文件做数字取证
  19. python统计套利_期货市场内外盘低频统计套利基于Python
  20. 平面解析几何----利用圆锥曲线第二定义和角平分线定理证圆锥曲线的光学性质

热门文章

  1. 逆向思维--魔兽世界封包分析
  2. 5分钟弄懂语音识别技术原理
  3. 计算机网络安全(1)
  4. clear:both的认知
  5. php自动生成后门代码,PHP小后门代码
  6. NFA到DFA的转化
  7. 阿里云智能分析套件Quick BI详细介绍_智能分析套件Quick BI特性及优势
  8. GooglePhoto设置壁纸----壁纸裁剪界面配置
  9. 宝塔的安全防范-服务器防火墙配置经验分享
  10. 【重识云原生】计算第2.6节——裸金属方案