webrtc 中的多对等连接
Multi peer connection in webrtc
我使用数组pc
将RTCPeerConnections从1个客户端保存到其他客户端,然后调用createOffer
。
pc
是全局变量,但有一个错误:在createOffer函数中,我得到pc[list[i]]
是undefined
。我该如何解决?
for (var i = 0; i<list.length - 1; i++) {
pc[list[i]] = createPC(list[i]);
pc[list[i]].createOffer(function (localDesc) {
pc[list[i]].setLocalDescription(localDesc);
send(localDesc, list[i]);
}, doNothing, constraints);
}
一定是 for 循环内部回调的常见问题,请尝试绑定 i
的值:
for (var i = 0; i<list.length - 1; i++) {
pc[list[i]] = createPC(list[i]);
(function(i){
pc[list[i]].createOffer(function (localDesc) {
pc[list[i]].setLocalDescription(localDesc);
send(localDesc, list[i]);
}, doNothing, constraints);
})(i);
}
编辑:
另一种选择可能是(我假设列表是唯一ID的列表):
...
for (var i = 0; i<list.length - 1; i++) {
var id = list[i];
pc[id] = createPC(id);
pc[id].createOffer(onOffer.bind({id:id}), doNothing, constraints);
}
...
function onOffer(localDesc){
pc[this.id].setLocalDescription(localDesc);
send(localDesc, this.id);
}
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 如何使用密码检测网络中的状态连接
- 如何处理node.js节点mongodb中的连接和查询队列
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 如何使用offer/answer交换来自两个对等连接的流
- Webrtc和socket.io:createanswer()总是有一个错误.为什么?我的代码连接了两个对等体,但其中只
- webrtc 中的多对等连接
- 使用WebRTC对等连接进行两个以上参与者的视频会议是否可行
- 如何使用peerJS对等连接接收数据
- Webrtc.使用PeerJs的对等连接
- 节点网络套接字:1006远程对等方在谷歌Chrome上丢弃的连接
- 可视化来自远程对等连接的媒体流
- 如何使用coturn(眩晕/转弯)服务器在Web应用程序中建立对等连接
- 如何为网络游戏建立对等连接
- 通过对等连接发送具有Web音频效果的MediaStream对象
- 如何使用数据通道创建HTML5 WebRTC对等体连接
- PeerJS或WebRTC对等连接是否需要服务器或仅在客户端之间
- 如何在阵列中存储对等连接
- 如何开始收集ICE候选人进行对等连接
- 如何在WebRTC对等体连接中创建数据通道