跳到主要内容

监听连接状态

功能描述

使用 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.CONNECTINGIM 连接中
Events.CONNECTEDIM 连接完成
Events.DISCONNECTIM 连接已断开,业务层需进行重连处理
Events.SUSPENDIM 连接中断,SDK 负责尝试恢复重连