我正在使用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客户端进行注册。
答案 0 :(得分:1)
只需使用cb(true)
更改注册事件cb(false)
..现在应该可以使用:)
答案 1 :(得分:0)
xmpp.C2SServer
是您在编写自己的服务器时使用的构建块。
如果要连接到现有XMPP服务器,则需要使用:
import xmpp from 'node-xmpp-client'
const client = new xmpp.Client( ... )
然后按XEP-0077在服务器上注册帐户。