2

我正在使用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 客户端注册。

4

2 回答 2

1

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

于 2015-08-21T12:31:25.390 回答
0

xmpp.C2SServer如果您正在编写自己的服务器,则可以使用它。

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

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

然后按照XEP-0077在服务器上注册一个账号。

于 2017-02-16T23:40:27.577 回答