错误码

  • C++

更新时间不可用

查询 RTC 服务端 SDK 的响应状态码、错误码含义、常见原因和处理建议。

在调用声网 API 过程中,SDK 可能通过如下方式返回错误码:

  • 在方法调用失败的返回值中,返回一个负数,这个负数就对应着错误码的正数。
  • 通过 onError 回调报告错误码。

当收到错误码时,意味着 SDK 遭遇了不可恢复的错误,需要 App 干预。

本文列出常见错误码的详细含义及其解决方法。对于未给出解决方法的错误码,声网推荐你联系技术支持,我们的技术服务会根据你在实际场景中遇到的问题进行排查。

信息

  • SDK 在返回错误码时,可能会返回一个负数。这个负数对应着错误码里的正整数。例如返回 -2,则对应错误码里的 2。
    • 本文中出现的 API 名称以 C++ 为准,其他平台的 API 名称可能会有所不同,请查阅对应平台的 API 文档。
枚举值说明
1一般性的错误(没有明确归类的错误原因)。请重新调用方法。
2方法中设置了无效的参数。例如指定的频道名中含有非法字符。请重新设置参数。
3

SDK 尚未准备好。一般有以下原因:

  • RtcEngine 初始化失败。请重新初始化 RtcEngine。
  • 调用方法时用户尚未加入频道。请检查方法的调用逻辑。
  • 调用 rate 或 complain 方法时用户尚未离开频道,请检查方法的调用逻辑。
  • 音频模块未开启。
  • 程序集不完整。
4

RtcEngine 当前状态不支持该操作。一般有以下原因:

  • 使用内置加密时,设置的加密模式不正确。
  • 加载外部加密库失败。 请检查加密的枚举值是否正确,或重新加载外部加密库。
5

方法调用被拒绝。一般有以下原因:

  • RtcEngine 初始化失败。请重新初始化 RtcEngine。
  • 在加入频道时,将频道名设为空字符 ""。请重新设置频道名。
  • 多频道场景下,在调用 joinChannel 方法加入频道时,设置的频道名已存在。请重新设置频道名。
  • 多频道场景下,在调用 joinChannelEx 方法加入频道时,设置的频道名已存在。请重新设置频道名。
6缓冲区大小不足以存放返回的数据。
7RtcEngine 尚未初始化就调用方法。请确认在调用该方法前已创建 RtcEngine 对象并完成初始化。
8当前状态无效。请查看 SDK 回调日志了解具体原因。
9没有操作权限。请检查用户是否授予了 App 音视频设备的使用权限。
10方法调用超时。有些方法调用需要 SDK 返回结果,如果 SDK 处理事件过长,超过 10 秒没有返回,会出现此错误。
17

加入频道被拒绝。一般有以下原因:

  • 用户已经在频道中。声网推荐通过 onConnectionStateChanged 回调判断用户是否在频道中。除非收到 CONNECTION_STATE_DISCONNECTED(1) 状态,否则请勿再次调用该方法加入频道。
  • 用户在调用 startEchoTest 进行通话测试时,未调用 stopEchoTest 结束当前测试,就尝试加入频道。开始通话测试后,需要先调用 stopEchoTest 结束当前测试,再加入频道。
18

离开频道失败。一般有以下原因:

  • 用户已离开频道,再次调用退出频道的方法,如 leaveChannel 时,会返回此错误。停止调用该方法即可。
  • 用户尚未加入频道,就调用 leaveChannel 等退出频道的方法。这种情况下无需额外操作。
19资源已被占用,不能重复使用。
20SDK 放弃请求,可能由于请求的次数太多。
21Windows 下特定的防火墙设置会导致 RtcEngine 初始化失败并崩溃。
22SDK 分配资源失败,可能由于 App 占用资源过多或系统资源耗尽。
101不是有效的 App ID。请更换有效的 App ID 重新加入频道。
102不是有效的频道名。可能的原因是设置的参数数据类型不正确。请更换有效的频道名重新加入频道。
103无法获取当前区域的服务器资源。请在初始化 RtcEngine 时尝试指定其他区域。
109

当前使用的 Token 过期,不再有效。请在服务端申请生成新的 Token,并调用 renewToken 更新 Token。

废弃

该错误码已废弃。请改用 onConnectionStateChanged 回调中的 CONNECTION_CHANGED_TOKEN_EXPIRED(9)。

110

Token 无效。一般有以下原因:

  • 在声网控制台中启用了 App 证书,但未使用 App ID + Token 鉴权。当项目启用了 App 证书,就必须使用 Token 鉴权。
  • 生成 Token 时填入的 uid 字段,和用户加入频道时填入的 uid 不一致。

废弃

该错误码已废弃。请改用 onConnectionStateChanged 回调中的 CONNECTION_CHANGED_INVALID_TOKEN(8)。

111网络连接中断。SDK 在和服务器建立连接后,失去网络连接超过 4 秒。
112网络连接丢失,即网络连接中断,且 SDK 无法在 10 秒内连接服务器。
119用户切换角色失败,请尝试重新加入频道。
120解密失败。可能是用户加入频道时使用了错误的密码。请检查用户加入频道时填入的密码,或引导用户尝试重新加入频道。
121该用户 ID 无效。
123此用户被服务器禁止。当用户被服务端踢出时会报告这个错误。
134无效的用户账号,可能是因为设置了无效的参数。
表格内容超出当前宽度,可横向滚动查看更多列。