我在我的服务器端构建了 reactjs,并在获取“/ *”上的请求时渲染它。
我的问题是当我在 localhost 中拨打电话时它可以工作,但是当我构建项目并在服务器上运行它时,有时我的流呼叫视频无法到达接收器,例如有时它可以在 wifi 上的另一台笔记本电脑上运行,但不能在手机上运行有wifi也没有蜂窝数据。
是否可以像这样提供反应应用程序,或者这是我的代码的问题
我还从 numb.viagenie.ca 添加了 stun/turn 服务器,但它仍然相同
我该如何解决?
这是用户拨打电话时的代码部分:
var peer = new Peer({
initiator:true,
trickle:true,
iceTransportPolicy: 'relay',
stream:uStream,
offerConstraints: {
offerToReceiveAudio: true,
offerToReceiveVideo: true
},
config: {
iceServers: [
{
urls: "stun:numb.viagenie.ca",
},
{
urls: "turn:numb.viagenie.ca",
username: "username",
credential: "password"
}
]
}
});
peer.on('signal', signal => {
console.log('Call Signal', signal);
socket.emit('call', { signal, receiver_id: user.id, room_id:roomID, caller_username:username });
});
这是用户接到电话时的代码部分:
var peer = new Peer({
initiator:false,
trickle:true,
answerConstraints: {
offerToReceiveAudio: false,
offerToReceiveVideo: false
}
});
peer.on('signal', signal => {
console.log('Answer Signal', signal);
socket.emit('answer', { signal, room_id:roomID, receiver_username:username, caller_username:incomingCall.caller_username });
});
peer.signal(incomingCall.signal);
谢谢。