如何在 XMPP 的聊天室中获取用户加入时间
Posted
技术标签:
【中文标题】如何在 XMPP 的聊天室中获取用户加入时间【英文标题】:How to get the user joined time in Chat room in XMPP 【发布时间】:2016-11-29 09:07:27 【问题描述】:我正在开发一个应用程序,我想知道用户在聊天室中加入(首次加入)的时间。这样我就只能显示当时的聊天记录。是否可以。任何建议表示赞赏。
【问题讨论】:
你叫什么加入?加入是在 Groupchat 规范(XEP-0045:多用户聊天)中定义的,意味着向房间发送出席信息。因此,只需向房间发送出席信息即可加入。 例如。我正在邀请用户加入房间。当用户通过接受我的邀请加入房间时,他不应该看到房间以前的历史记录。这可以实现吗? 是的,通常默认显示房间内最后交换的 10 或 20 条消息,除非用户要求特别禁用最后一条消息检索。如果你想要更多,你需要使用消息存档管理协议来查询 MUC 房间的存档。 谢谢米凯尔。我会检查邮件存档。 【参考方案1】: 配置服务器以禁用聊天历史记录。mod_muc:
history_size: 0
【讨论】:
聊天室历史记录应该按用户而不是按房间显示。 Xmpp 协议只提供通用功能,如何使用由您决定。例如。服务器不会为每个用户保存消息,而是为房间保存消息。以上是关于如何在 XMPP 的聊天室中获取用户加入时间的主要内容,如果未能解决你的问题,请参考以下文章
XMPP Farmework 如何在iOS中获取XMPP聊天室列表?
XMPP群聊java - 在邀请监听器内加入房间的用户的逻辑不起作用