注册时node-xmpp C2SServer连接问题

时间:2014-02-04 10:39:12

标签: node.js xmpp ejabberd node-xmpp

我正在使用node-xmpp库与ubuntu上安装的ejabberd服务器进行通信。

我有以下脚本在服务器中注册和执行操作..

var xmpp          = require("node-xmpp");
var c2s = new xmpp.C2SServer({
    port: 5223,
    domain: 'domain.com'
});

c2s.on('connect', function(client) {

    console.log('connect ??? ++++++++');

    c2s.on('register', function(opts, cb) {
        console.log('REGISTER')
        cb(true)
    })
    client.on('authenticate', function(opts, cb) {
        console.log('AUTH' + opts.jid + ' -> ' +opts.password)
        cb(null) // cb(false)
    })

    client.on('disconnect', function() {
        console.log('DISCONNECT')
    })

});

我能够在服务器中看到连接消息。但它没有调用注册事件。

但是我在5222端口有另一个ejabberd实例,可以从Audium XMPP客户端进行注册。

2 个答案:

答案 0 :(得分:1)

只需使用cb(true)更改注册事件cb(false) ..现在应该可以使用:)

答案 1 :(得分:0)

xmpp.C2SServer是您在编写自己的服务器时使用的构建块。

如果要连接到现有XMPP服务器,则需要使用:

import xmpp from 'node-xmpp-client'
const client = new xmpp.Client( ... )

然后按XEP-0077在服务器上注册帐户。