openVidu - 由于网络问题导致 websocket 连接丢失时,connectionDestroyed / sessionDisconnected 事件不会触发
Posted
技术标签:
【中文标题】openVidu - 由于网络问题导致 websocket 连接丢失时,connectionDestroyed / sessionDisconnected 事件不会触发【英文标题】:openVidu - connectionDestroyed / sessionDisconnected event doesn't trigger when websocket connection lost because of network problem 【发布时间】:2020-04-16 10:05:12 【问题描述】:当连接被破坏或断开时,发布者不会通知。在 Openvidu 文档中,他们建议 connectionDestroyed
和 sessionDisconnected
事件,但它不再触发。我该如何解决这个问题?从发布者方面,我需要在网络丢失和连接被破坏时通知发布者。
session.on('connectionDestroyed', reason =>
//...
//Doesn't trigger
);
session.on('sessionDisconnected', reason =>
//...
//Doesn't trigger
);
更新:
sessionDisconnected
事件在我重新连接成功或正常关闭会话时被调用。但是当网络连接中断时,我需要立即通知发布者。
【问题讨论】:
【参考方案1】:不确定 Openvidu 是否更改了事件名称,但您也可以尝试按照文档进行关注 - here
session.on('streamDestroyed', reason =>
//...
);
【讨论】:
我几乎测试了每个事件,可能是本地环境有问题。我的项目需要互联网连接才能成功运行。当我关闭 wifi 进行测试时,我的项目也无法运行 - 这可能是未触发事件的原因。不确定...服务器端一切正常,我将服务器部署在云上。以上是关于openVidu - 由于网络问题导致 websocket 连接丢失时,connectionDestroyed / sessionDisconnected 事件不会触发的主要内容,如果未能解决你的问题,请参考以下文章
GoogleWebRTC 在 swift 本机应用程序 (OpenVidu) 中挂起(冻结)主线程