有没有可能是因为 query 消息是异步的,然后再这个过程中切换了房间,此时之前的 query 结果回来了,没有正确的处理这种情况。

并未使用到query,只是简单的登录后直接进入指定和发送消息,因为项目中并不允许用户登录其他未指定的房间,而且图中例子都是第一次登录的新设备。

请问你监听的是当前 client 上的 message 事件,还是 当前 conversation 上的 message 事件?

登录后仅根据conversationID链接房间后监听消息,而且那几个账号没有进入过其他房间。