2015-02-06 41 views
0

我正在使用node-xmpp-client软件包连接到XMPP服务。该服务从外部来源收到消息时发布消息。我的目标:如何在NodeJS包中为XMPP构建订阅消息?

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

我在这里引用了sample code

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

var client = new xmpp.Client({ 
    jid: '[email protected]', 
    password: 'somepassword', 
    host:'somehost', 
    port:5222 
}) 

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

<iq type='set' 
    from='[email protected]/barracks' 
    to='pubsub.shakespeare.lit' 
    id='sub1'> 
    <pubsub xmlns='http://jabber.org/protocol/pubsub'> 
     <subscribe 
      node='princely_musings' 
      jid='[email protected]'/> 
    </pubsub> 
</iq> 

回答