我最近遇到了 Strophe.js 应用程序的另一个问题:即使我正在与用户 B 积极聊天(根据规范发送正确的 xml,包括 <active> 和内容),但服务器会通知用户 B 我变得不可用。
目前逻辑如下所示:
- 连接
- 发送初始存在节
- 需要时更新状态(离开/dnd)
- 每 10 秒开始 ping 服务器
- 用户现在可以聊天
执行 Ping 是为了确保服务器不会崩溃,这是众所周知且广泛使用的技术(使用 <iq...>)。
用户发送的每条消息如下所示:
<message from="me@server.ltd" to="friend@server.ltd" type="chat" id="randomID" xmlns="jabber:client">
<active xmlns="http://jabber.org/protocol/chatstates" />
<body>Text</body>
</message>
你知道这个问题以及任何可能的解决方案吗?