Safari的RTCDataChannel实现是否已完全中断?

时间:2019-06-15 01:12:31

标签: javascript macos safari webrtc

我正在尝试获取一个字符串,以通过RTCDataConnection从一个浏览器窗口传递到另一个窗口。

有很多这种工作的例子,例如这里的一个: https://gitlab.com/lesmana/webrtc-without-signaling-server

这些功能在大多数浏览器中都可以很好地工作,但是,在Safari 12(至少是其桌面版本)中,尝试连接最终会导致在“提供/回答返回”和“第四个响应为”之后在连接状态下生成“失败”消息。说完了。

添加WebRTC adapter.js不能解决任何问题。

但是,进一步地,似乎每个示例或教程都证明了RTCDataChannel的通信……在Safari中都中断了。

这应该起作用吗?我在bugs.webkit.org中找不到任何相关问题。

1 个答案:

答案 0 :(得分:3)

要求在没有信令服务器的情况下可以使用WebRTC的做法通常应加点盐。Safari在没有getUserMedia的情况下的行为确实有所不同,以避免泄漏IP地址。

在这种情况下,您要通过复制粘贴来交换pc.localDescription.sdp。 SDP不会包括本地主机候选者(即使您在onicecandidate事件中获得了它们)。我已经提交了webkit bug

如果在此期间要解决此问题,请记下具有“典型主机” here的任何候选者并将其添加为here(同时确保sdp仍然有效并且包含尾随换行符等)。 ,对于答录人也是一样。

相关问题