本地浏览器与 Web RTC 的浏览器通信

Local browser to browser communication with web RTC

我正在寻找两个浏览器在同一台机器上相互通信的选项。我们目前有一个系统,其中基于浏览器的应用程序打开另一个基于浏览器的应用程序传递 URL 参数,然后关闭启动的浏览器 window。但是在 EDGE Chorium 中,浏览器应用程序 1 无法再关闭浏览器应用程序 2,因此我们最终打开了大量 windows.

第二个浏览器应用程序如果可以重新用于后续消息,则可以保持打开状态。

我们一直在研究两种浏览器之间的本地通信选项。我们希望避免通过服务器(例如网络套接字)进行通信,因为它变得复杂了。我想知道 webRTC 是否可以提供帮助?我知道 webRTC 通常使用服务器来建立连接,但如果它只是同一台机器的本地浏览器,有没有办法解决这个问题?我读过 RTC 使用 UDP,因此不能保证消息传递,我们确实需要可靠的传递。但我看到其他东西表明 Web RTC 可以切换到其他更慢但更可靠的协议?

I know webRTC typically uses a server to establish the connection but if its just browsers local to the same machine is there a way around this?

不幸的是,WebRTC 现在需要一个信令服务器。但是有人在努力解决这个问题 [Idea] Local devices API (LAN services)

I've read RTC uses UDP and hence message delivery is not guaranteed, we really need reliable delivery.

如果您要发送 binary/text,您将使用 DataChannels。默认情况下,DataChannels 是可靠的,即使 运行 通过 UDP。 DataChannels 使用基于ACK 的SCTP,因此您无需担心数据丢失。

如果您要发送媒体,WebRTC 使用 RTP。 RTP 提供了许多工具来确保可靠的交付。然而,对于媒体数据来说,修复过去发生的事情没有意义。按照设计,它不会阻止调用和落后。