Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PeerJS在Chrome中连接,但在其他浏览器中不连接_Javascript_Webrtc_Peerjs - Fatal编程技术网

Javascript PeerJS在Chrome中连接,但在其他浏览器中不连接

Javascript PeerJS在Chrome中连接,但在其他浏览器中不连接,javascript,webrtc,peerjs,Javascript,Webrtc,Peerjs,我们开始在PeerJS中通过浏览器探索点对点网络。我是WebRTC的新手。我目前正试图让同一台计算机上的两个浏览器选项卡通过本地网络相互通话。我们目前测试的代码几乎直接取自其上的示例代码: 首先,我们使用节点在本地运行PeerServer: const { PeerServer } = require('peer'); const server = PeerServer({port: 9000, path: '/pjs'}); 然后我们尝试连接: import Peer from 'peerj

我们开始在PeerJS中通过浏览器探索点对点网络。我是WebRTC的新手。我目前正试图让同一台计算机上的两个浏览器选项卡通过本地网络相互通话。我们目前测试的代码几乎直接取自其上的示例代码:

首先,我们使用节点在本地运行PeerServer:

const { PeerServer } = require('peer');
const server = PeerServer({port: 9000, path: '/pjs'});
然后我们尝试连接:

import Peer from 'peerjs';
var CreatePeer = function(id) {
    this.peer = new Peer(id, {host: 'localhost', port: 9000, path: '/pjs', debug: 3}); 
}

var Connect = function(otherUserID) {
    this.peer.connect(otherUserID);
}

//...
CreatePeer("myID");
//...
Connect("theirID");
上面的代码在Chrome中运行良好,我们甚至可以使用我在这里省略的其他代码交换消息。但是,在Firefox中,
this.peer.connect(otherUserID)
行失败,并在浏览器控制台中显示此错误:

ICE失败,您的TURN服务器似乎已损坏,有关详细信息,请参阅关于:webrtc

about:webrtc
页面有一个日志,其中反复出现以下两行:

日志记录挂起:连接在专用窗口中处于活动状态
日志记录已恢复:在专用窗口中没有活动的连接

在Edge中,
peer.connect
行在控制台中引发此异常:

TypeError:对象不支持属性或方法“createDataChannel”

当我研究这个错误时,我得到了Edge支持WebRTC之前2016-2017年的结果。据我所知,Edge应该从2017年底开始支持WebRTC,但也许我误解了什么


为什么上面的代码可以在Chrome上运行,但不能在Edge或Firefox上运行?

Edge是,尽管有一个问题需要在的上下文中重新讨论。

谢谢,但这并不能解决有关Firefox的部分问题。请显示您忽略的代码。您将在稍后异步显示,而不是从该行开始。你不应该使用
conn.on('open',()=>{})
?嗨@Kevin。你能修复firefox的peerjs吗?我也遇到了同样的问题。@AbdullahKhan我不记得找到了解决这个问题的方法。项目的这一部分在backburner上,所以我有一段时间没有看它了。