google-chrome - webRTC 无法连接到不同网络上的某人

标签 google-chrome firefox webrtc

所以我对 webRTC 有一点问题。

我已经成功地在一台计算机上的浏览器之间建立了视频通信浏览器,并使用 firefox nightly 在同一网络上的不同计算机之间建立了视频通信浏览器,但是如果我尝试连接到位于不同网络上的某人,我会遇到问题。

我相信这是 Ice 服务器的问题:这是我到目前为止遇到的问题

if (webrtcDetectedBrowser == "firefox") {
    var servers = {"iceServers": [{"url": "stun:23.21.150.121"}]};
} else {
    var servers = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}]};
}

有人可以帮忙吗?

顺便说一句,它在 chrome 上运行时也有问题,它只是随机不显示视频(调用了 addremotestream,但没有任何反应)。

您可以在以下位置查看源代码(丑陋):http://bndr.me/chat/ (没有查询字符串的人是调用者,有查询字符串的人是被调用者)

最佳答案

是的,我也发现这是一个问题。其实我发现它是很多东西的组合,但网络是一个很大的东西。我确信其他人也会发现这是一个问题,并且需要在发布大多数商业应用程序之前修复它。我认为大多数人都没有意识到这个问题,因为他们是在单台 PC 上或可能在 LAN 内进行测试,但他们只是没有看到问题。我所有的测试都是在 Chrome 上进行的。以下是我发现的一些详细信息:

可能影响两个(或更多)端点连接程度的项目。 1. 网络。我提到这是一件大事。我有两个网络。 AT&T 和康卡斯特有线电视。 AT&T 运作良好,而 Comcast 运作不佳。我将在下面详细介绍一些经验。 2. 假设不同的网络、PC 类型等,哪个设备首先连接。 3.使用的PC类型。 Windows XP 比 Windows 7 运行得更好。最好的是 Ubuntu。事实上,只要目标之一是 Ubuntu,我就没有遇到任何问题。 4.距离。一般来说,越近越容易连接。这说得通。更具体地说,如果您在同一台 PC 上或在同一个 LAN 上,我根本没有遇到任何问题。如果我从一个网络到另一个网络进行测试(连接到本地 WAN,然后返回到其他路由器/网络。我可能会遇到一些问题。如果我在世界各地进行测试,那么我可能会遇到更多问题。我频繁在美国南佛罗里达州和印度之间进行测试。这是一个问题。

现在让我详细说明一些细节。首先我来阐述一下印度问题和一些具体情况。如果我在佛罗里达端使用康卡斯特,而印度端使用他们的网络,只要我先连接,他们再连接,有时我可以连接。如果我切换到 ATT,大多数时候它都会以任一方式连接。如果印度使用 Ubuntu PC,那么无论我的 PC 是什么或使用什么网络,我们始终可以连接。很奇怪。我们所有的测试都在 Chrome 上进行,并使用 Google STUN 服务器安排。

这是我使用 Windows 7 PC(实际上是两台,尽管结果相同)以及 Comcast 和 ATT 网络进行的非常具体的测试。我首先使用 Windows 7 和 Comcast 连接;然后XP和ATT连接。没问题。重复了一遍就没问题了。然后我反向操作——从 XP 和 ATT 开始,然后连接 Windows 7 (Comcast)。无法连接。我在 Windows 7 上进行了刷新。也没有更好。重复。无连接。然后我转到XP并尝试刷新。直接连接上了。我又运行了两次同样的序列,得到了完全相同的结果。至少它是一致的。

然后我颠倒了两台计算机上的网络连接。我得到了完全相同的结果,但只是相反。也就是说,如果具有 ATT 连接的 PC 是第二个连接的 PC,则它每次都能正常工作。如果康卡斯特是第二个连接,那么它就从未连接过。

我的结论:康卡斯特网络或者我使用的路由器不允许连接。我检查了所有内容但没有成功。然后我使用了 Ubuntu PC。网络问题突然解决了。这不是网络问题。

这是一个真正的问题,需要在发布任何商业开发之前解决。这个问题似乎与我不明白的一些事情有关。任何帮助表示赞赏。 弗雷德·克拉克

关于google-chrome - webRTC 无法连接到不同网络上的某人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16440215/

相关文章:

html - .htm 和 .html 文件不会在 Safari 或 Chrome 中呈现

javascript - 在 Google Chrome 中检查 jsfiddle.net 上的 javascript

javascript - HTML 代码附加到 JSON 输出可能是由于 Google Docs Chrome 扩展造成的?

javascript - 为什么这个 JavaScript 可以在 Safari 上运行,但不能在 Firefox 上运行?

node.js - 设置Nodejs WebRTC视频通话,并且Turn/ICE失败,CORS被阻止

javascript - 如何强制 16 :9 ratio with getUserMedia on all devices?

jquery - 不同操作系统中相同浏览器中的 CSS 渲染

node.js - 带有 geckodriver 的 Firefox 无法在 Ubuntu 服务器上启动

c# - 如何让浏览器从自定义协议(protocol)打开文件?

javascript - WebRTC 视频通话和音频通话不起作用,只能聊天吗?