2016-11-16 1 views
2

Я использую OpenFire версии 4.0.1Получение Все сообщения группы обратно при подключении к XMPP от ИОС и андроид конца

Использование Openfire Rest Api я создал группу чатов в servicename.xx.xx.xxx услуг .xxx.

Теперь комнаты создают то, что происходит, как только пользователь подключается к серверу xmpp, все групповые сообщения возвращаются к этому пользователю, что заставляет приложение застревать.

Я слышал об истории истории группового чата в настройках группового чата.

enter image description here

У меня есть укоротить все сообщения группы, которые хранятся в ofMessageArchive таблице Openfire.

Тем не менее, когда пользователь подключается к xmpp, пользователь получит все сообщения от всей группы, членом которой он является, хотя я удалил все сообщения из таблицыMessageArchive.

Как предотвратить те сообщения, которые отправляются через xmpp?

Любая помощь была бы appriciate.

+0

Кто-нибудь испытывает такой же вопрос? –

+0

Да, я столкнулся с проблемой, вы можете поделиться пакетом присутствия, который вы отправляете в комнату? –

+0

@ShoaibAhmadGondal Я создаю комнату с конца ios и создаю объект комнаты xmpp, а затем активирую комнату для моего подключенного потока xmpp, чем после отправки присутствия в поток (тип присутствия = «доступно») –

ответ

0

Вы должны указать свою версию Openfire.

Однако для Openfire 4.0.2

истории к конференции он основан на многих Params на базе и некоторые на клиенте. Поведение это никогда не бывает линейным.

1) в таблице OFPROPERTY свойство xmpp.muc.history.reload.limit (это работает в дни, например, поместить 30 означает "последние 30 дней")

2) в таблице OFMUCSERVICEPROP, для каждого ServiceID, вы можете иметь (или нет) 0+. Например, для ServiceID 1 (conference), без Params вы получите последние 25 сообщений, или вы можете установить на БД или программно имя history.type и типа (all, чтобы получить всю историю, none для Вашего случая)

3) С smack API Вы можете отправить запрос на дискуссию при подключении чата: с помощью этого объекта вы можете установить 0 всех параметров (например: количество строф и т. Д.).

history.type Это верхний уровень, который нужно установить: просто объявите его none и история не будет восстановлена.

+0

Я использую openfire версии 4.0.1, так как вы предположили, что я изменил history.type на none из всех в таблице OFMUCSERVICEPROP и проверен с конца ios, но я получаю все сообщения групп, с которыми я являюсь, начиная от начала до конца. Другой вариант, который вы указали, - xmpp.muc.history.reload.limit, но я не могу найти какое-либо свойство с именем xmpp.muc.history.reload.limit. даже я попытался вставить новую строку с xmpp.muc.history.reload.limit и установить это значение на 0, все еще ту же проблему, с которой я сталкиваюсь с конца ios. –

+0

Итак, у вас, вероятно, есть запрос по умолчанию в подписке, где вы подписываетесь на историю. Я не упоминал об этом, потому что, вероятно, у вас уже был чек, но если вы используете API-интерфейс, возможно, вы не проверяете подробные параметры подписки; кстати, если вы отключите «диалог ведения журнала» в «Параметры комнаты» (меню «Групповое» -> выберите услугу -> выберите «Комната»), теоретически невозможно будет извлечь любую историю – MrPk

+0

, о которой вы говорите по умолчанию в запросе на подписку с конца ios? & yes Я использую rest api для всех операций (добавлять/удалять) из комнаты, эта функциональность выполняется с веб-конца. Я видел настройки комнаты там, у меня уже отключена беседа с журнальными комнатами во время создания комнаты (динамически). Настройки номеров комнат (http://prnt.sc/d8sfps) по умолчанию (http://prnt.sc/d8sg6u) –