如何在NodeJS包中构建XMPP的订阅消息?

时间:2015-02-06 04:00:56

标签: node.js xmpp node-xmpp

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

  1. 连接服务
  2. 获得身份验证
  3. 订阅我感兴趣的一些节点。(节点名称已知)
  4. 从节点接收节以知道新消息已进入并处理它。
  5. 我在这里引用了sample code

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

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

    接下来,如何订阅发布者节点?我应该做一个client.send(新的xmpp.Message(..))?如果是,应该如何构造xmpp.Message?我可以在XMPP的Web上看到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>
    

1 个答案:

答案 0 :(得分:0)

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

做的