1

「simple-xmpp」モジュールを使用しており、ログイン後に Jabber ユーザーの名簿を取得しようとしています。Jabber サーバー (私の場合は Openfire) に接続してメッセージを送信すると、問題なく動作します。xmpp.getRoster() 呼び出しを実行しようとすると、単に「未定義」が返されます。

これが私のコードです。ある種の JSON オブジェクトを取得する必要があると思います。私は何を間違っていますか?ありがとうございました。

var config = require('../lib/config');
var xmpp = require('simple-xmpp');

xmpp.on('online', function() {
  console.log('Yes, I\'m connected!');

  console.log(xmpp.getRoster());
});

xmpp.on('error', function(err) {
   console.error(err);
});

xmpp.on('chat', function(from, message) {
console.log(from + " said: " + message);
});


exports.connect = function (username, password) {
   xmpp.connect({
       jid         : username,
       password    : password,
       host        : config.jabberHost,
       port        : config.jabberPort
   });
};
4

1 に答える 1

0

これは古い質問であることは知っていますが、何か他のものを探しているときに偶然見つけました。

node-xmpp-core の node-xmpp-client と ltx を使用し、以下を送信して実行しました。

client.send(新しい ltx.Element('iq', { from: 'user@domain.com', type:'get', id:'roster_1'})
    .c('query', { xmlns: 'jabber:iq:roster' }).t().up()
  )
  )
于 2015-07-16T10:55:30.643 に答える