sockets - 在 WebRTC 的上下文中,一般如何建立对等 (P2P) 套接字连接?
问题描述
从概念上讲,我无法理解连接到各自 Wifi 网络(例如)的 2 个设备如何能够建立对等连接,即使它们之间有中间临时服务器。
例如计算机A的公网IP是1.1.1.1 & 私网IP是192.xxx 计算机B的公网IP是2.2.2.2 & 私网IP是192.yyy 没有任何防火墙等(一般情况),他们将如何建立直接的socket连接他们?
如果您能用稍微外行的术语解释,将不胜感激。
背景:我正在研究一个服务器,它打算在浏览器中提供WebRTC。使用 Google 的 STUN 服务器,他们可以在很多情况下交换媒体。但从概念上讲,我不清楚两者之间发生了什么。
解决方案
WebRTC 使用称为 ICE 的过程来建立连接。它是一套主要依赖 STUN 协议的 NAT 打孔技术。正式的描述在RFC 5245中(由较新版本更新)
IETF 92 的这个演示文稿是迄今为止我见过的最好的幻灯片之一。
推荐阅读
- docker - Traefik 和 Nginx 在 Docker 上使用 HTTPS / 400 错误请求
- api - API 文档 _ 如何更改每个 API 的模型格式?
- gnuradio - Gnuradio 输出项目数
- vba - 使用 VBA 按钮宏打开表格(从工具栏)
- c++ - 读取二进制数据以查找十六进制序列
- mysql - 在 Azure 中部署 ASP.NET MVC Web 应用程序的数据库问题
- apache-spark - Spark 无法解析时间戳文件
- javascript - Javascript Vue 或 React 存储敏感信息客户端安全
- python - 减少和一个 numpy 数组的最有效方法(使用 autograd)
- javascript - 导入时出现“未捕获的语法错误:意外的令牌 {”