小程序rejoin方法重连 time out 903

你好,join方法时正常,如下图分别打印了token,channel,uid

在点击小程序右上角切后台后,重新打开,因为监听到了 stream-error,所以进行重连,打印如下:

对比发现,token,channel,uid都相同,uids也有传,报如下错误:
{
code: 903
reason: “time out”
serverResponse: undefined
wsurl: “wss://miniapp.agoraio.cn/120-92-35-249/api”
}

我们小程序appId是xxx,AgoraId是xxx
所需配置的域名也都配置了

你是不是没有重新 init 呢?请参考下 demo 的 reinitAgoraChannel 方法调用:

reinitAgoraChannel: function(uid, channel) {
    return new Promise((resolve, reject) => {
      let client = {}
      if (this.testEnv) {
        client = new AgoraMiniappSDK.Client({
          servers: ["wss://miniapp.agoraio.cn/120-131-14-112/api"]
        });
      } else {
        client = new AgoraMiniappSDK.Client()
      }
      //subscribe stream events
      this.subscribeEvents(client);
      AgoraMiniappSDK.LOG.onLog = (text) => {
        // callback to expose sdk logs
        Utils.log(text);
      };
      AgoraMiniappSDK.LOG.setLogLevel(-1);
      let uids = this.data.media.map(item => {
        return item.uid;
      });
      this.client = client;
      client.setRole(this.role);
      client.init(APPID, () => {
        Utils.log(`client init success`);
        // pass key instead of undefined if certificate is enabled
        Utils.log(`rejoin with uids: ${JSON.stringify(uids)}`);
        client.rejoin(undefined, channel, uid, uids, () => {
          Utils.log(`client join channel success`);
          if (this.isBroadcaster()) {
            client.publish(url => {
              Utils.log(`client publish success`);
              resolve(url);
            }, e => {
              Utils.log(`client publish failed: ${e.code} ${e.reason}`);
              reject(e)
            });
          } else {
            resolve();
          }
        }, e => {
          Utils.log(`client join channel failed: ${e.code} ${e.reason}`);
          reject(e)
        })
      }, e => {
        Utils.log(`client init failed: ${e} ${e.code} ${e.reason}`);
        reject(e);
      });
    });
  },

我是按照那个demo,先销毁,然后重新初始化,再去重连,不知道是不是哪里写的不对



不要在init前调用setClientRole或者订阅事件
建议调整一下 如果还是不行,麻烦发下完整日志

我看你们的demo例子就是实例化对象 -> 订阅事件 -> 设置角色 -> 初始化。。

哦 好像是的,不好意思 记错了
这边能发个日志给我看下吗

@sgyy 麻烦提供下问题出现时的日志,或者咱们可以在支持群中沟通细节,这样效率更高一些

问下日志是那个Utils.log吗,我这边因为之前先写的,用的console,如果需要的话我重新搞下,另外问下支持群是qq还是微信,群号呢