没有 createOffer/Answer 的 WebRTC 是不是可以在本地网络上使用?

Posted

技术标签:

【中文标题】没有 createOffer/Answer 的 WebRTC 是不是可以在本地网络上使用?【英文标题】:Is WebRTC without createOffer/Answer possible on a local network?没有 createOffer/Answer 的 WebRTC 是否可以在本地网络上使用? 【发布时间】:2022-01-22 18:50:46 【问题描述】:

是否可以在局域网上的两个浏览器之间建立 WebRTC 连接而无需调用 createOffer/Answer 而是通过手动创建本地和远程描述?

浏览器彼此之间并不在 NAT 之后,并且它们已经以某种方式发送了它们的 IP 地址(例如通过本地 HTTP 服务器)。

是否有可能本着以下精神做某事:

const myIp = '192.168.0.1'; 
const peerIp = '192.168.0.2';

const c = new RTCPeerConnection();
c.setLocalDescription(MAGIC_createLocalDescriptionFor(myIp));
c.setRemoteDescription(MAGIC_createRemoteDescriptionFor(peerIp));

【问题讨论】:

【参考方案1】:

是的!如果您使用的是 Chrome。查看offline-browser-communication

你需要处理三个状态点。

IP/端口。您可以以稳定的方式设置网络。或者尝试做一些猜测?

ufrag/密码。您可以通过 SetLocalDescription 进行设置,以便控制这些。

DTLS 证书。使用GenerateCertificate,这意味着您只需发送一次信号。

【讨论】:

【参考方案2】:

不在浏览器中。 offer 和 answer 包含诸如 ice-ufrag、ice-pwd、DTLS 指纹和候选端口等非静态属性。

【讨论】:

以上是关于没有 createOffer/Answer 的 WebRTC 是不是可以在本地网络上使用?的主要内容,如果未能解决你的问题,请参考以下文章

ruby 没有Rails的ActiveRecord w / o Migrations

Enter.、Backspace 和导航键在 Visual Studio 2010 w/Powertools/Resharper 中没有响应

Python open("file", "w+") 没有创建一个不存在的文件

以“w”模式打开文件:IOError:[Errno 2]没有这样的文件或目录

Java - 在没有磁盘的情况下处理内存中的文件 R/W

W / Ads:收到错误HTTP响应代码:400