5

XMPP サーバーを選択しており、現在 NodeXMPP を試しています。完全なNodeXMPP(コア、サーバー、クライアント、コンポーネント、依存関係...)をインストールしました。

私を驚かせたのは、クライアントが互いに話すようにするなど、すべてのバックエンドの作業を行う必要があることです。他の 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 のポイントは何ですか? prosody のような他の XMPP サーバーで NodeJS を使用することでしょうか?

4

1 に答える 1

1

node-xmpp独自の XMPP クライアント、コンポーネント、さらにはサーバーを構築できるコンポーネントの「単なる」ライブラリです。

ライブラリであるため、特定のユースケースに対する完全なソリューションを提供するのではなく、構築を可能にする一連のビルディング ブロックを提供します。

完全な、既に作成された、ボックス化された XMPP サーバー ソリューションの市場にいる場合は、Prosody をインストールすることをお勧めします。:^)

于 2017-02-16T23:34:30.393 に答える