Как анонимные пользователи могут обмениваться информацией о присутствии с действительными пользователями на Jabber (Ejabberd)
Я работаю в социальной сети, которая должна позволять участникам общаться с посетителями сайта. Концепция проста.
- Пользователи, которые зарегистрировались, получают свою учетную запись в реестрах
- Когда посетитель заходит на домашнюю страницу социальной сети, он может видеть некоторых онлайн-членов сообщества.
- Теперь он должен иметь возможность начать чат с ними, нажав на их имя.
У меня уже есть участники, чтобы общаться с их товарищами по составу. У меня вопрос, как я могу заставить анонимного пользователя общаться с участником и обмениваться с ним информацией о присутствии?
Мне успешно удалось создать анонимные учетные записи, учетные записи участников и даже отправлять сообщения от анонимного пользователя другим участникам. Но я не могу получить информацию о присутствии от анонимного пользователя к члену или наоборот?
Кстати, чат основан на JS.
1 ответ
Вы пытаетесь сломать модель XMPP. Присутствие является системой на основе разрешений. Вы спрашиваете меня, можете ли вы увидеть мое присутствие, я говорю да. Обычно мой клиент автоматически спрашивает вас, могу ли я увидеть ваше присутствие, а ваш клиент говорит "да". Вот что такое реестр - да и нет на наличие запросов на подписку.
Вы можете создавать чаты (MUC, многопользовательский чат), которые являются анонимными, а также присутствовать в них. Это не список, хотя. Это ближе всего к тому, что вы описываете, не вдаваясь в сумасшедшую страну с pubsub, и я не знаю, сможете ли вы даже согнуть этот инструмент достаточно далеко, чтобы иметь анонимные записи в реестре.