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 を使用することでしょうか?