2016-03-05 2 views
-1

Мы разрабатываем веб-приложение, и хотим добавить чат-сайт на наш сайт. Мы работаем над рубинами на рельсах и обнаружили жемчужину xmpp4r, которая занимается созданием, обновлением, удалением пользователей на сервере ejabberd, и мы хотели, чтобы этот пользователь зашел на сервер Ejabberd после входа на наш сайт и может отправлять сообщения другим пользователям. Я просмотрел документацию xmpp4r, но не смог сделать это, как это сделать. Может ли кто-нибудь предоставить мне документацию для этого и пример с рубинами на рельсах? Я уже настроил сервер ejabberd.сервер ejabberd с рубинами на рельсах

+0

Лучше, если вы разместите у вас конкретную ошибку. Кажется, что вы на правильном пути, если вы запускаете Ejabberd на отдельном сервере и общаетесь с ним, используя драгоценный камень Ruby. Кажется, что xmpp4r плохо документирован. Может быть, попробуйте 'blather'. –

+0

** Спасибо, @Max за ваше драгоценное время и предложение **, В настоящее время я запускаю ejabberd на своей машине (Ubuntu 14.04) только не на отдельном сервере, я хочу, чтобы пользователь был создан на сервере ejabberd после регистрации пользователя на нашем веб-сайте и после входа пользователя на наш сайт Пользователь переходит в онлайн-сервер ejabberd, чтобы Пользователь мог общаться с другими пользователями. Я пытаюсь выполнить весь сценарий с рубином на рельсах (используя жемчужину xmpp4r), но ** не может даже начать с xmpp4r **. – Himanshu

+0

Это все, что я хотел сделать на своем сайте. Помогите мне в этом, и предложения приветствуются ... И @Max, я тоже буду смотреть в blather. Это может помочь. Если возможно, отправьте пример и я буду очень благодарен вам. – Himanshu

ответ

1

Как правило, это не то, как вы создаете систему чата для веб-сайта с использованием XMPP.

Наиболее распространенный подход заключается в следующем:

  • Создание веб-XMPP клиент в JavaScript.
  • Убедитесь, что база данных пользователей используется совместно с вашим Rails-приложением и ejabberd (или используйте модуль аутентификации ReST от ejabberd до приложения Rails).

Если вы используете Rails для подключения к ejabberd в качестве прокси-сервера, вы окажетесь в аду, пытаясь управлять «реактором», чтобы запускать много клиентов XMPP внутри вашего веб-приложения Rails. Вы не должны запускать длительные «процессы» в Rails. Он не предназначен для этого (и вы получите проблемы с памятью, масштабируемостью и отзывчивостью).

+0

** Спасибо @ Mickael ** Это звучит как библиотека Strophe js. Является ли это лучше, чем жемчужина xmpp4r рубина на рельсах? – Himanshu

+0

Строф действительно хорош. Вопрос не в том, что lib лучше, чем xmpp4r. Дело в том, что весь дизайн решения лучше. С помощью xmpp4r на сервере будет запущено большое количество клиентов. С помощью Strophe клиент XMPP работает в браузере и, таким образом, на пользовательском клиенте. –

+0

** Спасибо @ Michael ** Последнее сомнение .... Является ли converse.js другим клиентом для xmpp? как насчет strophe vs converse.js? И одно сомнение, можем ли мы сделать все то, что я упомянул в своем вопросе с помощью converse.js? – Himanshu

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