Использование ejabberd для чата в браузере

Можно ли интегрировать чат-сервер ejabberd с масштабируемыми и быстрыми серверными технологиями, такими как node.js/tornado/socket.io, для реализации чата в браузере?

В этом случае сервер ejabberd может работать на бэкэнде, в то время как внешний интерфейс может использовать node.js/socket.io и т. д. для связи с клиентскими браузерами. Все сообщения чата должны быть направлены через сервер ejabberd. Имеет ли все это смысл и достаточно ли масштабируемо по сравнению с прямым использованием ejabberd традиционным способом?


person Saurabh Kumar    schedule 21.04.2012    source источник
comment
Google сказал мне Soashable: многопротокольный веб-мессенджер, AJAX IM и многие другие   -  person sehe    schedule 21.06.2012


Ответы (2)


Почему бы не использовать существующий клиент Candy (http://candy-chat.github.com/candy/), который работает внутри браузера, против внутреннего сервера ejabberd?

person Dr. Aleksandr Yampolskiy    schedule 12.08.2012

Я не вижу смысла в добавлении компонента в вашу архитектуру.

ejabberd и XMPP в целом хорошо работают с веб-технологиями и клиентом на основе Javascript.

Вы можете использовать две основные технологии:

  • XMPP через Websocket — самый современный подход. Он изначально поддерживается ejabberd. Это означает, что вы можете создать клиент XMPP на основе браузера для подключения к ejabberd.
  • XMPP через BOSH. Это эмуляция связанного с XMPP характера по сравнению с характером запроса-ответа протокола HTTP. Это означает, что вы все еще можете использовать чат-клиент XMPP для браузера, который не поддерживает веб-сокеты.

Библиотеки Javascript XMPP обычно поддерживают как веб-сокеты, так и BOSH. Например, вы можете взглянуть на Strophe, чтобы реализовать свой веб-клиент Javascript.

person Mickaël Rémond    schedule 09.05.2012