0

我正在使用node-xmpp-client包连接到 XMPP 服务。当服务从某个外部源接收消息时,它会发布消息。我的目标:

  1. 连接到服务
  2. 获得认证
  3. 订阅一些我感兴趣的节点。(节点名称已知)
  4. 从节点接收节以知道新消息已进入并处理它。

我在这里引用示例代码

我已经设法使用下面的代码连接到服务。这会自动向服务器验证我的身份吗?我没有收到任何“身份验证”事件。如果没有,我如何明确请求身份验证?

var client = new xmpp.Client({
    jid: 'someuser@somedomain.com',
    password: 'somepassword',
    host:'somehost',
    port:5222
})

接下来,如何订阅发布者节点?我应该做一个 client.send(new xmpp.Message(..)) 吗?如果是,应该如何构造 xmpp.Message ?我可以在 XMPP 的网站上看到 XMPP 订阅 iq,但很难将其映射回 node-xmpp 的 api。

<iq type='set'
    from='francisco@denmark.lit/barracks'
    to='pubsub.shakespeare.lit'
    id='sub1'>
    <pubsub xmlns='http://jabber.org/protocol/pubsub'>
        <subscribe
            node='princely_musings'
            jid='francisco@denmark.lit'/>
    </pubsub>
</iq>
4

1 回答 1

0

可能最容易看看我是如何为 xmpp-ftw-pubsub 做到这一点的https://github.com/xmpp-ftw/xmpp-ftw-pubsub/blob/master/lib/pubsub.js#L111-L137

于 2015-02-06T10:20:54.197 回答