Как лучше всего внедрить систему живого чата на моем веб-сервере? - PullRequest
4 голосов
/ 15 января 2011

Меня интересует что-то, основанное на Jabber, но я не нашел бесплатный / с открытым исходным кодом, так что я думаю написать один.

Я установил сервер Jabber и теперь думаю оспособы, которыми я могу написать клиента.Я думаю об одном из этих двух методов.

1) Ajax-вызов, выполняемый для сценария jabber, работающего на веб-сервере, который заботится о соединении с сервером.Но потом я подумал, что из-за зависимостей, связанных с клиентом jabber, он может в итоге потреблять слишком много памяти при подключении нескольких клиентов.

2) Другой метод - запустить клиент, работающий как демон, который принимаетзабота о всех тяжелых работах.Таким образом, мне нужно иметь только один экземпляр клиента, который отправляет поддельное сообщение (имя отправителя как имя пользователя, введенного на сайте).Простой скрипт, работающий на веб-сервере, общается с этим демоном через какой-то API (возможно, XMLRPC или Msgpack?)

Я думаю, что №2 лучше, но я не уверен.Есть ли другие способы, которыми я могу реализовать это?Я рассматриваю возможность использования Perl или Python для этого.

Ответы [ 2 ]

3 голосов
/ 15 января 2011

В наши дни Jabber обычно называют XMPP, и существуют десятки клиентов и серверов, каждый найдет что-то для себя. Если вы используете Javascript (вы упоминаете Ajax), вы, вероятно, захотите Strophe . Большинство серверов являются модульными, поэтому вы загружаете только те функции, которые вам нужны (рассмотрите Tigase, ejabberd или xmpppy). Написание собственного - еще хуже идея, чем кажется.

1 голос
/ 15 января 2011

BOSH

  1. Установка prosody , потому что он действительно легко устанавливается и имеет встроенную поддержку BOSH .Вы можете пропустить это, но затем вам нужно узнать, как использовать BOSH через ejabberd.
  2. используйте strophe.js для реализации этого (используя BOSH).Новые браузеры поддерживают междоменный запрос ( CORS -> чтение части BOSH без прокси).В старых браузерах вы могли использовать прокси или использовать flash в качестве прокси.
  3. read Профессиональное программирование XMPP с использованием JavaScript и jQuery для изучения строфа.В ней даже есть главы, объясняющие, как создавать чат.

Node.js

Или вы можете рассмотреть возможность установки node.js для создания вашей системы чата с использованием socket.io .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...