我一直在创建group chat application
,同时实现群聊功能我遇到问题,每次join the room
,open fire sends last two days messages.
这是我每次加入房间时都会收到的帖子。
<message xmlns="jabber:client" id="05qEM-18" to="210@openfire.indianic.net/94e509b9" type="groupchat" from="top@conference.openfire.indianic.net/258"><body>Very good morning!!!</body><delay xmlns="urn:xmpp:delay" stamp="2014-03-19T05:15:06.542Z" from="258@openfire.indianic.net/Smack"/><x xmlns="jabber:x:delay" stamp="20140319T05:15:06" from="258@openfire.indianic.net/Smack"/></message>
任何好友都可以建议disable history message
上open fire server
的选项在哪里?
所以我只会收到一次消息。
提前致谢。
答案 0 :(得分:5)
您应该不禁用群聊历史记录,您应该指定您不希望接收历史记录,如XEP-0045中所述:
<presence
from='hag66@shakespeare.lit/pda'
id='n13mt3l'
to='coven@chat.shakespeare.lit/thirdwitch'>
<x xmlns='http://jabber.org/protocol/muc'>
<history maxchars='0'/>
</x>
</presence>
您的XMPP库应该能够指定加入数据包的房间的“maxchars”或“maxstanzas”或“seconds”属性。
答案 1 :(得分:1)
是的,但我不推荐它! 在Web管理页面上,转到“群聊”部分,在那里,转到群聊设置。如果您还没有,请创建新服务,然后单击它。它将带您进入群聊服务属性。在左侧,您可以找到历史记录设置,您可以根据需要设置历史记录设置。
图片:
答案 2 :(得分:-1)
在管理任何对话历史记录时,我发现要做的最好的事情就是简单地修改embedded-db.script文件。只需编辑它就会记录++,并使用以下语句(INSERT INTO OFPROPERTY VALUES)
或(INSERT INTO OFROSTERGROUPS VALUES)
或(INSERT INTO OFID VALUES)
删除任何内容。这将清除所有聊天记录,包括您的群聊。您可以筛选并删除当然需要的内容。我会复制并粘贴数据库,以防您删除所需的内容 - 确保先停止服务器...