webrtc ICE 打洞总结

要搞清webrtc ICE连接是否能成功 , 主要是搞懂NAT

NAT 类型 简单来说

一 是本地的ip和端口 决定外部的 ip和端口(和目的Ip和端口无关) , (这种情况又分为 , 无限制,仅限制 ip , 限制ip和port , 也就是要自己先给这个另外设备ip1和port1发过信息的情况下决定是否让这个ip1,port1的消息进来) (按理说 外部ip和port是固定的 , 那么双方都知道对方的ip和Port的情况下 都会往双方发消息,每一次发消息也行会失败,但是之后 双方都会记录对方的IP和port ,所以双方都能进入了,所以如果A,B设备没有其中一个是对称 NAT的情况下 ICE理论上打洞成功的话应该是能接通的)

二是 本地ip和端口和目的ip和端口决定 外部的ip和端口 , 这种情况STUN服务器得到和外部ip和端口就是无效的,所以另外 一个B设备是无法知道A设备的外部 ip和端口的 ,所以这时候一定要A设备能够访问到B设备先ICE从能接通, 如果 A设备是对称型NAT 那么B设备一定要full cone NAT才能接通了(设想 B设备无法知道A设备的外部Ip和port的情况下 就无法向A发消息,那就只能靠B能进去A了)

相关推荐
苦学编程的谢5 分钟前
Linux
linux·运维·服务器
Gss7772 小时前
源代码编译安装lamp
linux·运维·服务器
猿究院--冯磊2 小时前
计算机网络--HTTP协议
网络协议·计算机网络·http
敲上瘾2 小时前
Linux I/O 多路复用实战:Select/Poll 编程指南
linux·服务器·c语言·c++·select·tcp·poll
huangyuchi.2 小时前
【Linux系统】匿名管道以及进程池的简单实现
linux·运维·服务器·c++·管道·匿名管道·进程池简单实现
元清加油3 小时前
【Goland】:协程和通道
服务器·开发语言·后端·网络协议·golang
望获linux3 小时前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
刘一说4 小时前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
海绵不是宝宝81712 小时前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github
繁星¹⁸⁹⁵16 小时前
通过update-alternatives可以实现cuda的多版本切换
服务器