• WEBRTC中的Candidate是指什么


    什么是Candidate

    每一个candidate 是一个网络地址信息,它包括: 协议簇、IP、端口、类型
    例如 : “a = candidate: … UDP … 192.168.2.1 8080 typ host”

    WebRTC收集candidate的过程
    在这里插入图片描述
    1、收集本地的candidate: 当前主机上有几块网卡, 每个网卡上有几个IP地址, 例如机器上有2个网卡, 每个网卡上有2个IP地址, 同时每个网卡都支持TCP和UDP, 那么candidate信息就有8(222)条

    2、Server Reflexive Address : 主机在NAT之后, 即收集映射后的外网地址, 协议簇依然可以是TCP/UDP, 地址和端口号都是映射后的, 类型则是“srflx”

    3、TURN给我们分配的中专地址 : 当NAT无法穿透的时候, 中转服务器会给我们开辟一个IP和端口, 一般使用UDP协议, 地址和端口是TURN服务器分配的, 类型则是“relay”

    Candidate的类型及优先级

    1、Host 主机候选者 : 本机所有的IP和指定端口
    2、Srflx 服务器映射候选者 : 通过STUN/TURN服务器返回的信息中取得
    3、Prflx 对端映射候选者 : 通过上图的三种方法收集到candidate之后交给对端, 对端在与我们的连接过程中返回的源地址是一个未知的IP地址, 说明对端在连接时NAT又给他重新映射了一个IP地址, 而这个地址就称为Peer reflex candidate
    4、Relay 中继候选者 : 双方无法直接连接, 则会专门发送一个信令给TURN服务以获取IP和端口

    以上按优先级从高到低顺序排列

  • 相关阅读:
    Java 21新特性:Sequenced Collections(有序集合)
    Vue.js 中的异步组件是什么?
    流量卡可以自己选地区吗?看完你就明白了!
    【Linux】基础:进程地址空间
    Linux中Ctrl+C和Ctrl+Z的区别_实战讲解(超详细)
    伪元素和伪类的区别和作用?
    Swoole 的异步 Task 任务详解
    URL和URI
    SPDK中常用的性能测试工具
    Apache 部署配置
  • 原文地址:https://blog.csdn.net/nb_zsy/article/details/127682791