根据规范 —
7.14 离开聊天室
为了离开多人聊天室,用户发送一个类型为“unavailable”的出席 stanzas 到它当前所使用的 <room@service/nick> 地址。
例子 80. 用户离开聊天室
<presence
from='hag66@shakespeare.lit/pda'
to='coven@chat.shakespeare.lit/thirdwitch'
type='unavailable'/>
这意味着一旦用户从XMPP服务器断开连接,他就会从服务器端的群组中移除。问题很简单 - 我不想要这种行为;我希望实现与WhatsApp相似的行为,即使用户离线,他仍然是MUC房间的一部分(在服务器端配置为持久性),并且将接收其他用户的消息。考虑到XEP-0045和XMPPFramework for iOS的规范和文档,我不知道如何实现这个功能,也不确定是否能在传统的ejabberd服务器上实现。