2015-02-06 49 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> 

回答