simple-peer on.("signal") 事件重复多次
Posted
技术标签:
【中文标题】simple-peer on.("signal") 事件重复多次【英文标题】:simple-peer on.("signal") event repeats many times 【发布时间】:2020-11-07 15:49:42 【问题描述】:我正在使用simple-peer
创建一个使用NodeJS
、SocketIO
和Angular
的小型视频通话应用程序
我正在尝试在这里实现full-mesh
。我有一个同伴initialtor
,它将启动循环信号。
我的代码如下。
const peer = new SimplePeer(
initiator: true,
trickle: false,
stream,
);
peer.on("signal", signal =>
console.log(userToSignal, "signal-callerID");
this.peerService.emit("sending signal", userToSignal, callerID, signal )
)
此函数将处于循环中。当一个新用户连接时,它会向该用户发送信号,我的问题是,peer.on("signal", signal =>
事件会重复自身,即使只有 1 个用户连接,它会在 1 个对等点上创建 11 个请求。这是什么问题,我该如何解决?
我指的是this code 并尝试以角度实现它。
【问题讨论】:
面临完全相同的问题。你找到解决办法了吗? 【参考方案1】:这是正常的行为,offer 和ice 候选人。如果您只想要一条消息,请按照here 的描述将滴流选项设置为 false。请注意,这会在建立连接时产生额外的延迟。
【讨论】:
你好。在发起者和其他发起者中涓涓细流已经是错误的。我只共享了相同的代码。 所以。我该如何解决。即使我禁用了trickle
,signal
事件也会多次返回。
第一步是转储它发出的数据。如果它包括候选人,那么涓涓细流:false 不起作用。
您好,我也有同样的问题。您找出原因/解决方案了吗?【参考方案2】:
我遇到了同样的问题。只需尝试使用简单的对等库版本 9.6.2。好用!!!!!!
【讨论】:
【参考方案3】:将此添加到您的客户。我制作了 Express webRTC 应用程序,并发现太多同行添加到我的客户响应同行阵列中。所以在Issues 中找到这个代码。顺便试试这个。
socketRef.current.on("user joined", payload =>
const item = peersRef.current.find(p => p.peerID === payload.callerID);
if(!item)
const peer = addPeer(payload.signal, payload.callerID, stream);
peersRef.current.push(
peerID: payload.callerID,
peer,
)
peers.push(peer);
);
它对我有用。 resignal 后,peers 不会添加到你的数组中,你会从另一个 peer 那里得到你的视频流。
【讨论】:
以上是关于simple-peer on.("signal") 事件重复多次的主要内容,如果未能解决你的问题,请参考以下文章
fscanf (filepointer, "%d\n%lg\n", sig_length, sample_rate);如何解释它?