Javascript peerjs/webrtc iceConnectionState失败

Javascript peerjs/webrtc iceConnectionState失败,javascript,websocket,webrtc,p2p,peerjs,Javascript,Websocket,Webrtc,P2p,Peerjs,我想弄清楚这件事已经有一段时间了。我正在尝试使用peerjs建立一个简单的连接。我可以成功连接到id为USER\u id的对等方。但是,他们无法连接到我。当他们尝试连接时,我收到以下日志 iceConnectionState最终更改为failed,无法接收任何数据 应用程序正在使用peerjs云服务器 我正在使用最新版本的Chrome。他们已经尝试使用最新版本的Chrome和Firefox 他们关掉了所有的防火墙 您甚至尝试了,但它失败了,出现了相同的错误 你知道为什么会发生这种事吗 感谢您

我想弄清楚这件事已经有一段时间了。我正在尝试使用peerjs建立一个简单的连接。我可以成功连接到id为
USER\u id
的对等方。但是,他们无法连接到我。当他们尝试连接时,我收到以下日志

iceConnectionState
最终更改为
failed
,无法接收任何数据

  • 应用程序正在使用peerjs云服务器
  • 我正在使用最新版本的Chrome。他们已经尝试使用最新版本的Chrome和Firefox
  • 他们关掉了所有的防火墙
  • 您甚至尝试了,但它失败了,出现了相同的错误
你知道为什么会发生这种事吗

感谢您的帮助

peer.min.js:1 PeerJS: Socket open peer.min.js:1 PeerJS: Creating RTCPeerConnection. peer.min.js:1 PeerJS: Listening for ICE candidates. peer.min.js:1 PeerJS: Listening for `negotiationneeded` peer.min.js:1 PeerJS: Listening for data channel peer.min.js:1 PeerJS: Listening for remote stream peer.min.js:1 PeerJS: Setting remote description RTCSessionDescription peer.min.js:1 PeerJS: Added ICE candidate for: USER_ID peer.min.js:1 PeerJS: Set remoteDescription: OFFER for: USER_ID peer.min.js:1 PeerJS: Created answer. peer.min.js:1 PeerJS: Set localDescription: answer for: USER_ID peer.min.js:1 PeerJS: Received ICE candidates for: USER_ID peer.min.js:1 PeerJS: Added ICE candidate for: USER_ID peer.min.js:1 PeerJS: Received ICE candidates for: USER_ID peer.min.js:1 PeerJS: Added ICE candidate for: USER_ID peer.min.js:1 PeerJS: Received ICE candidates for: USER_ID peer.min.js:1 PeerJS: iceConnectionState is disconnected, closing connections to USER_ID peer.min.js:1 PeerJS:Socket open peer.min.js:1 PeerJS:创建RTPeerConnection。 peer.min.js:1 PeerJS:倾听ICE候选人。 peer.min.js:1 PeerJS:监听'negotiationneeded'` peer.min.js:1 PeerJS:侦听数据通道 peer.min.js:1 PeerJS:侦听远程流 peer.min.js:1 PeerJS:设置远程描述RTCSessionDescription peer.min.js:1 PeerJS:Added ICE候选者:USER\u ID peer.min.js:1 PeerJS:Set remoteDescription:OFFER for:USER\u ID peer.min.js:1 PeerJS:Created answer。 peer.min.js:1 PeerJS:Set localDescription:answer for:USER\u ID peer.min.js:1 PeerJS:Received ICE候选用户:USER\u ID peer.min.js:1 PeerJS:Added ICE候选者:USER\u ID peer.min.js:1 PeerJS:Received ICE候选用户:USER\u ID peer.min.js:1 PeerJS:Added ICE候选者:USER\u ID peer.min.js:1 PeerJS:Received ICE候选用户:USER\u ID peer.min.js:1 PeerJS:iceConnectionState已断开连接,正在关闭与用户\u ID的连接
我也有同样的问题。添加眩晕回合服务器应该可以解决这个问题

客户端代码

peer = new Peer(this.api.currentUserValue().id+'-'+this.api.currentUserValue().first_name,{
                                                    host: 'localhost',
                                                    port: 8080,
                                                    path: '/api',
                                                    debug: 3,
                                                    config: { 'iceServers': [
                                                      { 'url': 'stun:stun.l.google.com:19302' },
                                                      { 'url': 'turn:numb.viagenie.ca',credential: 'xxxx', username:'xxxx@gmail.com'  } ] } // this is must for keeping the connection open
                                                      });
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var expressPeerServer = require('peer').ExpressPeerServer;
var path = require('path');



app.set('port', (process.env.OPENSHIFT_NODEJS_PORT || "8080"));
app.set('host', (process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"));

app.use(express.static(path.join(__dirname, '/client')));
app.use('/api', expressPeerServer(server, {debug:true}));




server.listen(app.get('port'),app.get('host'),function(){
  console.log('Server running at %s:%s',app.get('host'),app.get('port'));
});
服务器端代码

peer = new Peer(this.api.currentUserValue().id+'-'+this.api.currentUserValue().first_name,{
                                                    host: 'localhost',
                                                    port: 8080,
                                                    path: '/api',
                                                    debug: 3,
                                                    config: { 'iceServers': [
                                                      { 'url': 'stun:stun.l.google.com:19302' },
                                                      { 'url': 'turn:numb.viagenie.ca',credential: 'xxxx', username:'xxxx@gmail.com'  } ] } // this is must for keeping the connection open
                                                      });
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var expressPeerServer = require('peer').ExpressPeerServer;
var path = require('path');



app.set('port', (process.env.OPENSHIFT_NODEJS_PORT || "8080"));
app.set('host', (process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"));

app.use(express.static(path.join(__dirname, '/client')));
app.use('/api', expressPeerServer(server, {debug:true}));




server.listen(app.get('port'),app.get('host'),function(){
  console.log('Server running at %s:%s',app.get('host'),app.get('port'));
});

我也有这个问题。。。这不是早些时候发生的。我刚刚意识到这篇文章有多老了。