利用腾讯云roomService服务,移动直播,创建房间api,CreateRoom时有时报“房间已存在”错误。
分析流程发现,CreateRoom会传入roomId到roomService后台,后台将roomId作为groupId创建im群组。
默认roomId传入空字符串“”,后台会生成一段随机数作为roomId和groupId,但在开发中我们需要指定该groupid即chat_room_id。
当指定roomId创建群组时,有可能会遇到“房间已存在错误”。
原因
已开启的groupId没有按正常流程关闭,如直播间异常退出等,导致关闭直播间时关闭了roomId而没有关闭对应的groupId。导致云通信控制台还保存有这个群组,没有进行释放。
虽然腾讯云提供了自动释放的机制,但是还是不能有效释放,目前机制不明
解决方法
1、在控制台手动解散群组可以解决。
2、保证每次创建启用新的groupid。
注意
不建议使用同一个roomId反复创建房间,容易出现消息收不到的问题;
云通信的同一个groupId反复解散创建,可能会触发去重,需要在收到解散群组的通知的时候,把对应群组会话的本地消息删除
作者:旧旧的 <393210556@qq.com> 解决问题的方式,就是解决它一次