Getting All group messages back when connecting to xmpp from ios and android end

帅比萌擦擦* 提交于 2019-12-20 07:26:23

问题


I am using openfire version 4.0.1

Using openfire Rest Api i have created group chat rooms in the service servicename.xx.xx.xxx.xxx.

Now rooms are created what is happening , once user connect to the xmpp server all the group messages are receiving back to that user which makes application stuck.

I heared about Group Chat History Settings under group chat settings.

I have truncate all the group messages which is stored in ofMessageArchive table of openfire.

Still, when user connects to the xmpp that user will receive all the messages of all the group which he is member with even though i have cleared all the messages from ofMessageArchive table.

How to prevent those messages which are comming through xmpp?

Any Help would appriciate.


回答1:


You have to specify your Openfire version.

However, for Openfire 4.0.2

Groupchat history it's based on many params on database and some on client. Behaviour it's not ever linear.

1) in table OFPROPERTY the property xmpp.muc.history.reload.limit (this works in days, for example put 30 means "last 30 days")

2) in table OFMUCSERVICEPROP, for each serviceid, you can have (or not) 0+ values. For example, for serviceid 1 (conference), without params you'll get last 25 messages, or you can set by db or programmatically name history.type and type (all to get all the history, none for your case)

3) With smack API You can send a DiscussionHistory request while joining chat: with this object you can set to 0 all the parameters (like: number of stanzas and so on).

history.type it's the top level one to set: just declare it as none and no history will be retrived.



来源:https://stackoverflow.com/questions/40631928/getting-all-group-messages-back-when-connecting-to-xmpp-from-ios-and-android-end

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!