2015-06-11 2 views
5

Я выбираю сервер XMPP и в настоящее время пытаюсь NodeXMPP. Я установил полный NodeXMPP (ядро, сервер, клиент, компонент, зависимости ...).Неужели Node-XMPP бесполезен? Выбор сервера XMPP

Что меня поразило, так это то, что я должен делать все фоновое содержимое: заставить клиентов говорить друг с другом и т. Д. Другие серверы XMPP (tigase ejabberd ...) делают это с нуля.

Мой крошечный пример: создать сервер и хранить клиентов в массиве, а затем искать для клиента, когда другие пытаются говорить:

var xmpp = require('../index') 

var c2s = new xmpp.C2SServer({ 
    port: 5222, 
    domain: 'localhost' 
}) 

var clients = new Array(); 

c2s.on('connect', function(client) { 
    client.on('authenticate', function(opts, cb) { 
     console.log('AUTH' + opts.jid + ' -> ' +opts.password) 
     clients.push(client); 
    }) 
    client.on('stanza', function(stanza) { 
     if (stanza.is('message') && (stanza.attrs.type !== 'error')) { 
      var interlocuteur = getClient(stanza.attrs.to) 
      if (interlocuteur) 
       interlocuteur.send(stanza) 
     } 
    }) 
    client.on('disconnect', function() { 
     console.log('DISCONNECT') 
    }) 
    client.on('online', function() { 
     console.log('ONLINE') 
     client.send(new xmpp.Message({ type: 'chat' }).c('body').t('Hello there, little client.')) 
    }) 
}) 

И мой вопрос: мне действительно нужно закодировать эти основные операции? Если да, то в чем смысл Node-XMPP? Может быть, использовать NodeJS на другом сервере XMPP, таком как просодия?

ответ

0

Apache Vysper Реализация Java-сервера XMPP дает вам больше реализованной вещи и гибкость для расширения/настройки сервера.

https://github.com/tumakha/xmpp-light - пример, основанный на Apache Vysper

+0

Последнее совершение Вышеры с 2013 года. Я бы не рекомендовал строить на нем. – Flow

1

node-xmpp «просто» библиотека компонентов, которая позволяет вам создать свой собственный клиент XMPP, компонент или даже сервера.

Будучи библиотекой, он не предоставляет полного решения для конкретного варианта использования, а представляет собой набор строительных блоков, позволяющих его построить.

Если вы находитесь на рынке полного, уже сделанного в штучной упаковке сервера XMPP-сервера, установка Prosody - хорошая ставка. : ^)

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