javascript - Web P2P/WebRTC 无服务器信令:是否可以在不产生响应的情况下成功发送信号?
问题描述
我的目标是创建一个 p2p 无服务器 Web 应用程序,但我还不完全清楚这些可能性。我认为需要对等发现并且会有 NAT 问题。之后,我在谷歌上搜索并阅读了很多文章,得出的结论是 WebRTC 是我唯一的选择。但是,有一点我不明白:
为什么不能通过简单地在仅包含优惠的 URL 的 GET 参数中发送带有连接信息的可共享链接来创建 p2p 连接?如果 Alice 通过 将她的公共 IP(以及报价中的任何其他内容)发送给 Bob example.com/?info=<IP_ADDRESS>&info2=<OTHER_STUFF>
,那么为什么 Bob 不能立即连接到 Alice?为什么 Bob 需要向信令服务器发送响应?
这个答案似乎表明这是不可能的:Establishing WebRTC peer connection
但我不明白为什么,应该有足够的信息。是信任问题吗?
是否有可能使用任何技术(即不仅是 WebRTC)创建一个 p2p 应用程序,其中只有 Alice 发送她的信息,Bob 可以使用 Alice 的 IP 地址回复 Alice?
解决方案
我实现了以下让 p2p 工作https://github.com/chr15m/bugout
他将其作为浏览器中的服务器推销,但它也适用于浏览器中的对等点、客户端或任何出于任何原因想要与另一个浏览器通信的代码。
工作原理:它使用开放的 webtorrent 跟踪器来创建对等发现机制。通过这样做,人们不需要实现自己的信号服务器,因为他们正在搭乘开源基础设施的便车。不过,他也实现了自己的信令服务器。通过这样做,您还可以免费获得 STUN 服务器。
推荐阅读
- f# - Akka.Net 关闭不等待 Serilog?
- javascript - javascript(ReactJS),如何执行函数的引用
- python - 从坐标总和构建 numpy 数组的最快方法
- python - 在数组的两个不同部分中计算重复整数的最快方法
- html - 将表格调整为页面高度
- google-cloud-platform - Dataprep 不起作用 - Cloud Dataflow 服务代理
- javascript - jQuery解析html并改变它
- django - 背景模板本地化
- php - Codeigniter :获取具有唯一电子邮件的记录
- c++ - 为什么存在用户声明的析构函数时会生成移动构造函数?