2015-06-11 23 views
5

Ho scelto un server XMPP e sto provando NodeXMPP. Ho installato NodeXMPP completo (core, server, client, componente, dipendenze ...).Node-XMPP è inutile? Scelta del server XMPP

Ciò che mi colpisce è che devo fare tutto il back-end: fare in modo che i client si parlino, ecc. Altri server XMPP (tigase ejabberd ...) fanno tutto da capo.

mio piccolo esempio: Ho creare un server e memorizzare i clienti in un array, quindi cercare un cliente quando un altro cerco di parlare:

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.')) 
    }) 
}) 

E la mia domanda: ne ho veramente bisogno di codice questi operazioni di base da solo? Se sì, qual è il punto di Node-XMPP? Forse usare NodeJS su un altro server XMPP come prosody?

risposta

0

Apache Vysper XMPP L'implementazione del server Java offre più funzionalità e flessibilità per estendere/personalizzare il server.

https://github.com/tumakha/xmpp-light - ad esempio sulla base di Apache Vysper

+0

L'ultimo commit di Vysper è del 2013. Non consiglierei di crearlo. – Flow

1

node-xmpp è "solo" una libreria di componenti che permette di costruire il proprio client XMPP, componente o addirittura server.

Essendo una libreria, non fornisce una soluzione completa per casi d'uso particolari, ma una serie di elementi costitutivi che consentono di crearne uno.

Se sei sul mercato di una soluzione di server XMPP in scatola completa, già realizzata, l'installazione di Prosody è una buona scommessa. : ^)