2015-05-25 2 views
0

Я пытаюсь реализовать чат для моего веб-приложение со следующими характеристиками:XMPP: Количество непрочитанных сообщений

  • When входа пользователя в он должен видеть количество непрочитанных сообщений (что оба сообщения в автономном режиме и «невидимая », Я объясню« невидимый »на следующем шаге).
  • Когда пользователь находится в любом месте приложения, но в окне чата, он должен получать уведомление о том, что у него есть новое сообщение. Сообщение должно быть отмечено «невидимым» и должно быть добавлено к количеству непрочитанных сообщений.

Первый пункт довольно легко достигается с помощью XEP-0013: гибкое извлечение сообщений в автономном режиме. Поэтому я могу получить офлайн-сообщения, и когда я уверен, что пользователь их видел, я удаляю их из непрочитанного списка. Но проблема в том, как я могу достичь такой же цели для «невидимых» сообщений?

Вкратце, что мне нужно: любое сообщение должно быть помечено как автономное, если пользователь не видит его и его удаляют из списка явным запросом.

Могу ли я достичь этого с помощью XMPP и как это сделать?

Заранее спасибо.

ответ

0

Что вы пытаетесь сделать, это в основном хранить счетчик невидимых вещей в вашей учетной записи. Я думаю, что вам не нужно гибкое автономное извлечение, так как при подключении сообщений просто станет невидимым. Таким образом, вам нужно иметь дело только с одним случаем: Невидимым.

Я отвечу с точки зрения ejabberd, что я знаю лучше как один из разработчиков: я бы использовал личное хранилище для хранения вашего текущего состояния невидимого счета и разговора.

+0

Хорошо, так кажется, что для моего дела нет XEP, верно? Поэтому я должен сам это реализовать. Проблема в том, что я не знаком с erlang, поэтому мне кажется, что я должен написать плагин для Openfire или какого-то узла XMPP-сервера nodejs, потому что я в основном Java и Javascript dev. – 4410

+0

Да, нет необходимости в определении XEP, поэтому он должен быть обычным. –

Смежные вопросы