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 文档中,他们建议 connectionDestroyedsessionDisconnected 事件,但它不再触发。我该如何解决这个问题?从发布者方面,我需要在网络丢失和连接被破坏时通知发布者。

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 事件不会触发的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenVidu 和电子进行视频录制

openvidu 视频组会议收到请求的令牌出错的错误

GoogleWebRTC 在 swift 本机应用程序 (OpenVidu) 中挂起(冻结)主线程

无法使用烧瓶从 openvidu-server 获取令牌,出现 SSLError

来自耳机的 OpenVidu Publisher 声音

Openvidu Server 的WebRTC通讯实现 I