收藏
回答

ownerLeaveRoom接口调用返回错误码1 错误类型system error无法解散房间?

我在开发工具中调试使用帧同步相关接口时,在房主调用createRoom接口成功创建房间后,人为制造断线(比如重启微信),重连后通过getLastRoomInfo接口,成功获取到了房间信息和accessInfo。此时我希望退出并解散房间,于是我调用ownerLeaveRoom接口,调用后进入fail回调,返回报错,导致无法退出房间,也无法解散房间。请问这是什么原因?

回答关注问题邀请回答
收藏

2 个回答

  • Forever
    Forever
    1天前

    是这样的,getLastRoomInfo接口主要用来判断上一个次对战是否还在进行中,如果还在对战当中,请使用 reconnect 接口进行从新连接 ,但游戏结束你可以直接调用 joinRoom 接口重新进入房间。你掉线大多数情况下已经离开房间了,这时你还要退出房间,当然会发生系统错误啊。

    1天前
    赞同
    回复 3
    • Mockingbird
      Mockingbird
      1天前
      感谢解答,您的意思我理解了,就是说掉线之后如果不要回到游戏,是不用调用leaveRoom接口离开房间的对吗。
      那么现在我作为一个房主建房,在创房后,还没有调用startGame接口开始游戏之前,如果也要重新连回房间,也需要先调用reconnect接口是吗?但是假如这个时候房间只有我(也就是房主)一个人在等待其他玩家加入,然后我掉线了,我在掉线之后,这个房间的状态是怎样的?我在调试中用getLastRoomInfo接口获取到的roomInfo是有值的,roomState状态为1(组队中),但是我并没有调用重连接口回这个房间,memberList却是我(房主)的信息,isReady的值也是true。所以我对这个状态感到很困惑,房间状态是组队中,房间里的唯一一个人(房主)掉线了,没有重连,也无法解散这个房间。那么对这种情况,如果我不想保留这个房间,是需要reconnect之后在ownerLeaveRoom解散,还是可以直接createRoom创建一个新房间,亦或是用joinRoom加入回这个房间呢?
      1天前
      回复
    • Forever
      Forever
      1天前回复Mockingbird
      通过“做个小游戏”公众号的对话框联系我们,带上帖子标题/链接,我对你的疑问进行解答
      1天前
      回复
    • Forever
      Forever
      1天前回复Mockingbird
      调用startGame接口开始游戏前,如果roomState状态为1是不需要调用reconnect接口,而且 getLastRoomInfo 接口是获取最近参与房间的 accessInfo,不能代表你还在房间内,为了保险起见建议你先调用joinRoom接口重新返回房间,再调用ownerLeaveRoom接口进行解散
      1天前
      回复
  • Zhouqi
    Zhouqi
    2天前

    同问!官方飞机大战demo也有这个问题!

    2天前
    赞同
    回复
登录 后发表内容
问题标签