监听连接状态
功能描述
使用 addEventListener 监听 IM 连接状态,可根据连接状态进行不同业务处理,或在页面上给出提示。
- 建议在应用生命周期内设置。
- 应用销毁时,应清理这些事件监听。
调用示例
const Events = RongIMLib.Events
/**
* 正在链接的事件状态
*/
RongIMLib.addEventListener(Events.CONNECTING, () => {
console.log('正在链接...')
})
/**
* 链接到服务器会触发这个事件
*/
RongIMLib.addEventListener(Events.CONNECTED, () => {
console.log('连接成功')
})
/**
* 手动调用 disconnect 方法或者用户被踢下线 会触发这个事件
*/
RongIMLib.addEventListener(Events.DISCONNECT, (code) => {
console.log('连接中断,需要业务层进行重连处理 ->', code)
})
/**
* 链接出问题时,内部 进行重新链接,会触发这个事件
*/
RongIMLib.addEventListener(Events.SUSPEND, (code) => {
console.log('链接中断,SDK 会尝试重连,业务层无需关心')
// 5.1.2 版本开始,事件回调中会 引起中断的 code 状态码
console.log(`code -> ${code}`)
})
提示
- 5.6.1 版本之前,事件 Events.DISCONNECT 与 Events.SUSPEND 回调函数中的 code 类型为 ConnectionStatus
- 5.7.0 版本之后,事件 Events.DISCONNECT 与 Events.SUSPEND 回调函数中的 code 类型为 ErrorCode
连接事件说明
事件 | 说明 |
---|---|
Events.CONNECTING | IM 连接中 |
Events.CONNECTED | IM 连接完成 |
Events.DISCONNECT | IM 连接已断开,业务层需进行重连处理 |
Events.SUSPEND | IM 连接中断,SDK 负责尝试恢复重连 |