我学会了使用node-xmpp库向XMPPserver发出请求。现在我可以在XMPP扩展文档中提到请求。但现在我想获得每个请求的回调响应(尤其是XML响应)。
这里我使用以下代码向另一个用户发出请求订阅(好友请求)
var net = require("net");
var xmpp = require('node-xmpp');
var cl = new xmpp.Client({ jid: "one@localhost", password: "comet123$" })
cl.addListener('online', function(data) {
console.log('Connected as ' + data.jid.user + '@' + data.jid.domain + '/' + data.jid.resource)
//making subscription
var stanza = new xmpp.Element('presence',{
to: "hai@localhost",
from: "one@localhost",
type: "subscribe",
}).up
// making request
cl.send(stanza);
// nodejs has nothing left to do and will exit
cl.end()
})
我想知道如何获得回复结果。
我试着使用回调功能,就像这样,
cl.send(stanza, function(result){
console.log(result);
});
也喜欢这个
var result = cl.send(stanza);
仅返回true,
所以有人可以告诉我如何通过使用node-xmpp libarary获取我们所做的请求的回调结果
答案 0 :(得分:0)
XMPP消息没有回调或返回。您必须设置一个事件监听器来接收从服务器返回的消息。添加:
cl.on('stanza', function(stanza){
// Do something with the stanza
// If you want to end after the first message you get back, move this here
cl.end();
});
答案 1 :(得分:0)
您可以从连接中获取原始数据
cl.connection.on("data", function (data) {
console.log('data', data.toString('utf8'));
});