Трансляция сообщений с использованием aSmack, (XMPP) - PullRequest
0 голосов
/ 22 сентября 2018

Я работаю с одним приложением для чата через XMPP, использовал aSmack в качестве клиента и настроил ejabberd для конца сервера.Я внедряю чат один на один, и он работает фантастически.Теперь я пытаюсь интегрировать широковещательное сообщение для нескольких пользователей.

Я изучаю XEP-0033 протокол, потому что я знаю, что этот протокол отвечает за широковещательную рассылку сообщений, а также обеспечивает полную теоретическую ясностьТо же самое. В основном, мой вопрос:

  1. Я не получаю никакой необходимой ссылки для интеграции этого протокола в мой код.
  2. Является ли aSmack предопределенным разделом для этого протокола, или мне нужносделать пользовательский раздел для интеграции этого протокола.Если да, то, пожалуйста, предложите любую ссылку для того же.
  3. Я также проверяю MultiUserChatLightManager, но этот класс предназначен для группового чата, но мне нужно сначала интегрировать трансляцию сообщений.
  4. Есть какие-либо изменениятребуется на стороне сервера ejabberd для реализации этого протокола?

Я не слишком большой специалист по XMPP.

1 Ответ

0 голосов
/ 23 сентября 2018

У меня была похожая проблема, и она была решена с помощью этой

загрузки широковещательного плагина на ваш сервер openfire. Ссылка здесь и ссылка для чтения плагина здесь

для широковещательной рассылки следуйте шаблону, чтобы установить Id all @ [serviceName]. [ServerName] где serviceName равно broadcast и serverName - имя нашего сервера, отправьте ваше сообщение xmpp с вашегоAndroid-клиент, как это

  Message msg = new Message();
  msg.setBody(yourmessage);
  msg.setFrom(yourJid);
  msg.setTo("all@broadcast.yourservername");
  yourXmppConnection.sendStanza(msg)

для других альтернативных и высоких настроек в широковещательном сообщении, вы можете выбрать XEP-0060: Publish-Subscribe здесь и здесь является привкусом, например

...