当前位置: 首页 > wzjs >正文

展示型网站解决方案自建网站平台要多少钱

展示型网站解决方案,自建网站平台要多少钱,网页制作专业以后好找工作吗,百度收录网站的图片文章目录 前言WebRTC 的 ICE candidate 协商1. 什么是 ICE candidate?2. ICE 协商的流程3.前端使用 ICE candidate 协商代码示例1)收集 candidate 并发送2)WebSocket 接收 candidate 并添加 4. ICE candidate 的类型5. ICE 协商常见问题6. 关…

文章目录

  • 前言
  • WebRTC 的 ICE candidate 协商
    • 1. 什么是 ICE candidate?
    • 2. ICE 协商的流程
    • 3.前端使用 ICE candidate 协商代码示例
      • 1)收集 candidate 并发送
      • 2)WebSocket 接收 candidate 并添加
    • 4. ICE candidate 的类型
    • 5. ICE 协商常见问题
    • 6. 关键调试点
    • 7. 代码片段加日志示例
    • 总结


前言

WebRTC 的 ICE candidate 协商

WebRTC 的 ICE candidate 协商


1. 什么是 ICE candidate?

  • ICE(Interactive Connectivity Establishment) 是 WebRTC 用于 NAT 穿透、建立点对点连接的核心协议。
  • candidate(候选地址)是指本地网络环境下所有可能的可用地址(如本地IP、公网IP、中继服务器IP等)。
  • 通过收集和交换 candidate,WebRTC 能找到一条可用的网络路径,实现端到端音视频传输。

2. ICE 协商的流程

  1. 双方创建 RTCPeerConnection,并设置 ICE 服务器(通常是 STUN/TURN)。
  2. 本地收集 candidate:浏览器会自动收集本地所有可用的网络地址(candidate)。
  3. onicecandidate 事件触发:每收集到一个 candidate,就通过信令服务器发送给对端。
  4. 对端收到 candidate,通过 addIceCandidate 添加到自己的 RTCPeerConnection。
  5. 双方不断交换 candidate,直到找到一条可用的网络路径,ICE 连接建立,媒体流就能传输了。

3.前端使用 ICE candidate 协商代码示例

1)收集 candidate 并发送

 const pc = new RTCPeerConnection({iceServers: [// 免费的公共 STUN 服务,适用于测试和轻量级应用{ urls: "stun:stun.l.google.com:19302" },],})
pc.onicecandidate = (e) => {if (e.candidate) {ws.send(JSON.stringify({ type: "candidate", candidate: e.candidate }))}
}
  • 每当本地收集到一个 candidate,就通过 WebSocket 发送给对方。

    RTCPeerConnection ,截图自MDN。

在这里插入图片描述

2)WebSocket 接收 candidate 并添加

前端可以用 ws 这个库。

 ws.onmessage = async (msg) => {if (data.type === "candidate") {try {await pc.addIceCandidate(data.candidate)} catch (e) {}}} 
  • 收到对方的 candidate 后,调用 addIceCandidate 添加到本地 RTCPeerConnection。

4. ICE candidate 的类型

  • host:本地局域网 IP 地址
  • srflx:服务器反射地址(通过 STUN 服务器获取的公网 IP)
  • relay:中继地址(通过 TURN 服务器获取,适合复杂 NAT/防火墙环境)

5. ICE 协商常见问题

  • 没有 candidate 交换:双方无法建立连接,媒体流无法传输。
  • addIceCandidate 报错:SDP 协商顺序不对,或 candidate 格式有误。
  • NAT/防火墙阻断:需要配置 TURN 服务器。
  • 局域网可通,公网不通:STUN 只能穿透部分 NAT,复杂网络需 TURN。

6. 关键调试点

  • onicecandidateaddIceCandidate 前后加日志,确认 candidate 是否收发完整。
  • 检查 candidate 的类型和内容,确认是否有 srflxrelay 类型。
  • 浏览器控制台查看 ICE 相关报错(如 ICE failed、addIceCandidate failed 等)。

7. 代码片段加日志示例

pc.onicecandidate = (e) => {if (e.candidate) {console.log('Send ICE candidate:', e.candidate);ws.send(JSON.stringify({ type: "candidate", candidate: e.candidate }))}
}else if (data.type === "candidate") {console.log('Receive ICE candidate:', data.candidate);try {await pc.addIceCandidate(data.candidate)} catch (e) {console.error('addIceCandidate error', e);}
}

总结

  • ICE candidate 协商是 WebRTC 能否连通的关键,决定了媒体流能否端到端传输。

文章转载自:

http://l8wI8Hi4.Lqzhj.cn
http://5CO8Btih.Lqzhj.cn
http://tgIgvnga.Lqzhj.cn
http://FBxvBx12.Lqzhj.cn
http://cq4EUXSS.Lqzhj.cn
http://NVq1NKv5.Lqzhj.cn
http://JjxdrPMr.Lqzhj.cn
http://1wN3HKqR.Lqzhj.cn
http://mwqpe4p8.Lqzhj.cn
http://oAor1SE8.Lqzhj.cn
http://qwmCU6m7.Lqzhj.cn
http://3vZQHHjT.Lqzhj.cn
http://hMBJ5DTs.Lqzhj.cn
http://KJzDsKyj.Lqzhj.cn
http://Grkz7Mc0.Lqzhj.cn
http://v3yNHESX.Lqzhj.cn
http://Haf1VG67.Lqzhj.cn
http://ij1QzWCC.Lqzhj.cn
http://IITGc3ao.Lqzhj.cn
http://ZrEHzS3u.Lqzhj.cn
http://1z2JE5xp.Lqzhj.cn
http://JbFivA5z.Lqzhj.cn
http://IpRnY55e.Lqzhj.cn
http://4U7NWIF0.Lqzhj.cn
http://My1Kn5tN.Lqzhj.cn
http://oPEGVwI9.Lqzhj.cn
http://LJbKCtz8.Lqzhj.cn
http://Mj06tHeZ.Lqzhj.cn
http://SjL20qR5.Lqzhj.cn
http://lIIajVVD.Lqzhj.cn
http://www.dtcms.com/wzjs/638898.html

相关文章:

  • 美词网站建设品牌建设与营销的关系
  • 免费发群二维码的网站郑州电力高等专科学校电话
  • 网站建设业务员主动话术国外美容网站
  • 彩票网站开发制作软件wordpress search制作
  • 南宁建站价格朋友圈推广广告
  • 肇庆网站建设推广网站服务器租用你的知识宝库
  • 个人博客网站怎么建立广州网站关键词推广
  • php+mysql网站开发...做网站有什么要求吗
  • 网站怎么访问自己做的网页陕西 汽车 网站建设
  • 郑州做网站汉狮企业解决方案架构师
  • 厦门翔安建设局网站重庆市建设工程交易中心
  • 网站业务费如何做记账凭证献县做网站价格
  • 大兴安岭网站推广awada wordpress
  • 重庆智能网站建设公司网站建设哪家好知道万维科技
  • 查域名的网站广西网络营销外包公司
  • 网站建设为啥每年都要收费找工作哪个网站好智联招聘
  • php 企业网站上海做网站优化公司
  • 学校网站的建设费用福州微网站开发
  • 网站建设与管理实践报告总结苏州网站制作及推广
  • 外贸电子网站建设做seo推广大概多少钱
  • 苏州怎么做网站排名优化网站标题的写法
  • 做网站要学的代码中山建网站哪家好
  • 昆明网页建站模板婚纱摄影哪家好
  • 网站架构图天津交通网站建设
  • 土建设计网站企业建设电子商务网站的预期收益
  • 酒店网站建设协议关键词挖掘站网
  • 一张简单的网页多少钱云优化seo软件
  • 番禺区移动端网站制作惠州网站建设模板
  • 外贸公司网站建设费的会计科目合肥建设云平台
  • 网站建设可行性研究注册免费的网站