跳转至

连接接口

连接

注意事项

  1. 连接方法必须在执行 初始化 之后调用
  2. 连接方法必须在设置 状态监听器消息监听器 之后调用
  3. 除初始化、监听以外, 所有方法都必须在 connect 成功之后 再调用
  4. 默认一个用户只支持一个页面连接, 开通 "多设备消息同步" 即可支持多页面连接

参数说明:

参数 类型 必填 说明 最低版本
token String 用户的唯一标识 2.0.0

代码示例:

var token = "mKmyKqTSf7aNDinwAFMnz7NXKI3dV3X0+Cd1BOxmtO2pmvsjW2HViWrePIfq0GuTu9jELQqsckv4AhfjCAKgQ==";

RongIMClient.connect(token, {
  onSuccess: function(userId) {
    console.log('连接成功, 用户 id 为', userId);
    // 连接已成功, 此时可通过 getConversationList 获取会话列表并展示
  },
  onTokenIncorrect: function() {
    console.log('连接失败, 失败原因: token 无效');
  },
  onError: function(errorCode) {
    var info = '';
    switch (errorCode) {
      case RongIMLib.ErrorCode.TIMEOUT:
        info = '链接超时';
        break;
      case RongIMLib.ConnectionState.UNACCEPTABLE_PAROTOCOL_VERSION:
        info = '不可接受的协议版本';
        break;
      case RongIMLib.ConnectionState.IDENTIFIER_REJECTED:
        info = 'appkey 不正确';
        break;
      case RongIMLib.ConnectionState.SERVER_UNAVAILABLE:
        info = '服务器不可用';
        break;
      default:
        info = errorCode;
        break;
    }
    console.log('连接失败, 失败原因: ', info);
  }
});

断开链接

断开当前用户的连接. 调用后将不再接收消息, 不可发送消息, 不可获取历史消息, 不可获取会话列表

代码示例:

RongIMClient.getInstance().disconnect();

重新链接

注意事项

  1. 不传 config 参数, 则为直接重连, 此时 reconnect 方法必须在网络正常的情况下调用
  2. 传入 config 参数, SDK 内部自动做网络嗅探处理, 当检测到网络正常时, 进行重连

config 参数说明:

参数 类型 必填 说明 最低版本
auto Boolean 是否自动重连, 默认 false 2.3.3
url String 用于网络嗅探的地址, auto 为 true 时, 此参数必填 2.3.3
rate Array 网络嗅探频率, 单位为毫秒, auto 为 true 时, 此参数必填 2.3.3

代码示例:

var callback = {
  onSuccess: function(userId) {
    console.log('reconnect success. ' + userId);
  },
  onTokenIncorrect: function() {
    console.log('token 无效');
  },
  onError: function(errorCode) {
    console.log(errorcode);
  }
};
var config = {
  auto: true,
  url: 'cdn.ronghub.com/RongIMLib-2.2.6.min.js?d=' + Date.now(),
  rate: [100, 1000, 3000, 6000, 10000]
};
RongIMClient.reconnect(callback, config);

退出登录

切换用户时使用, 示例见: Web SDK API 示例

代码示例:

RongIMClient.getInstance().logout();