【转载】 P2P(打洞)方案 及webrtc实现

本文详细介绍了P2P通信中的打洞技术,包括反向链接、基于UDP和TCP的打洞原理和典型场景。此外,还探讨了P2P通信中的STUN、TURN、ICE等标准协议及其作用,以及在WebRTC实现中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

P2P(打洞)方案

反向链接技术 —— 通信的双方只有一方位于NAT之后

A:位于NAT之后
B:拥有外网地址
A可以主动向B进行连接,但B不能主动连接A,B需要给服务器发送请求,让服务器告知A,让A主动再去连接B(反向连接技术)

基于UDP的打洞

原理概述

1.中间服务器作用
1)公网服务器,位于NAT网关后面的client A和B都可以与一台已知的集中服务器建立连接,并通过这台集中服务器了解对方的信息并中转各自的信息
2)判断client是否位于NAT之后,client与server连接时,server会记录两对地址,一个是client自身IP和端口号,第二个是实际通信的IP和端口号,两个地址作对比后,就可以判断
2.P2P建立流程
1)A不知道如何与B发起连接,于是A给集中服务器发送消息,请求集中服务器帮助与客户端B的UDP连接
2)集中服务器将B的内外网地址发送给A,同时集中服务器将A的内外网地址发给B
3)当A收到B的地址后,A向B的地址发送UDP包,并且A会自动锁定第一个给出响应的B地址,B也是同理,此时即可连接

典型场景

两客户端位于同一NAT设备后面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来不如迎风去

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值