为提升用户体验,你可以通过回调获取网络连接状态,并在 UI 上提示用户的网络状态。
通过监听 onNetworkQuality
回调获取本端和远端的网络状态评分,详见通话质量监测。
断网分为以下两种不同情况:
本端设备网络断开可以通过以下方式获取到断网通知。
WiFi、蜂窝数据网络断开:
onNetworkTypeChanged
回调。onNetworkQuality
的 DOWN
状态。由于平台限制,在 Windows 端及部分 Android 机型,本地网络断开后无法立即收到该事件提示。
路由器网络不通:通过 ping 某个域名/服务器地址进行判断
你可以通过 onConnectionStateChanged
回调获取本端连接状态信息,如下图。
客户端与服务器的连接超时,12s 内未收到应答,连接断开,本端回调 CONNECTION_STATE_DISCONNECTED
状态
断开连接后,客户端会持续尝试重连。重连过程中,10 s 内仍未收到应答,连接丢失 ,本端回调 CONNECTION_STATE_LOST
状态
你可以通过以下回调,感知房间中其他用户是否断开连接。服务器对用户的连接情况判定和通知流程如下:15 s 内没有收到客户端应答,服务端认为 ICE 连接断开,继续等待客户端重连,如果 15 s 内没有重连成功,RTC 将通过 onUserLeave
回调,告知房间内其他用户,该用户下线。
如果该用户发布了媒体流,还将触发 onUserUnpublishStream
和/或 onUserUnpublishScreen
回调
Android
iOS
macOS
Windows
Web
在 Web SDK V4.45 及之后的版本,本端与服务器断连会触发
CONNECTION_STATE_LOST
状态
在 Web SDK V4.55 及之后的版本,本端网络断开会触发
DOWN
状态。