2015-06-11 16 views
5

Ich wähle einen XMPP-Server und derzeit NodeXMPP. Ich habe komplette NodeXMPP (Kern, Server, Client, Komponente, Abhängigkeiten ...) installiert.Ist Node-XMPP nutzlos? Auswählen von XMPP-Server

Was mir auffällt, ist, dass ich all das Back-End-Zeug machen muss: Kunden dazu bringen, miteinander zu sprechen usw. Andere XMPP-Server (tigase ejabberd ...) machen das Zeug von Grund auf neu.

Mein kleines Beispiel: ich einen Server und Speicher-Clients in einem Array zu erstellen, dann für einen Kunden suchen, wenn ein anderer zu sprechen versuchen:

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

Und meine Frage: muss ich diese wirklich codieren Grundoperationen von mir selbst? Wenn ja, was ist der Sinn von Node-XMPP? Vielleicht ist es, NodeJS über einen anderen XMPP-Server wie Prosodie zu verwenden?

Antwort

0

Apache Vysper XMPP Java-Server-Implementierung gibt Ihnen mehr Ding bereits implementiert und Flexibilität zu erweitern/anpassen Server.

https://github.com/tumakha/xmpp-light - zB auf Basis von Apache Vysper

+0

Das letzte Commit von Vysper ist von 2013. Ich würde nicht empfehlen, darauf aufzubauen. – Flow

1

node-xmpp ist „nur“ eine Bibliothek von Komponenten, die Sie Ihre eigenen XMPP-Client-Komponente oder sogar Server erstellen kann.

Da es sich um eine Bibliothek handelt, bietet es keine vollständige Lösung für einen bestimmten Anwendungsfall, sondern eine Reihe von Bausteinen, mit denen ein Baustein erstellt werden kann.

Wenn Sie auf dem Markt einer kompletten, bereits hergestellten, boxed XMPP Server-Lösung sind, ist die Installation von Prosody eine gute Wette. : ^)