Как анонимные пользователи могут обмениваться информацией о присутствии с действительными пользователями на Jabber (Ejabberd)

Я работаю в социальной сети, которая должна позволять участникам общаться с посетителями сайта. Концепция проста.

  1. Пользователи, которые зарегистрировались, получают свою учетную запись в реестрах
  2. Когда посетитель заходит на домашнюю страницу социальной сети, он может видеть некоторых онлайн-членов сообщества.
  3. Теперь он должен иметь возможность начать чат с ними, нажав на их имя.

У меня уже есть участники, чтобы общаться с их товарищами по составу. У меня вопрос, как я могу заставить анонимного пользователя общаться с участником и обмениваться с ним информацией о присутствии?

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

Кстати, чат основан на JS.

1 ответ

Решение

Вы пытаетесь сломать модель XMPP. Присутствие является системой на основе разрешений. Вы спрашиваете меня, можете ли вы увидеть мое присутствие, я говорю да. Обычно мой клиент автоматически спрашивает вас, могу ли я увидеть ваше присутствие, а ваш клиент говорит "да". Вот что такое реестр - да и нет на наличие запросов на подписку.

Вы можете создавать чаты (MUC, многопользовательский чат), которые являются анонимными, а также присутствовать в них. Это не список, хотя. Это ближе всего к тому, что вы описываете, не вдаваясь в сумасшедшую страну с pubsub, и я не знаю, сможете ли вы даже согнуть этот инструмент достаточно далеко, чтобы иметь анонимные записи в реестре.

Другие вопросы по тегам