我正在使用node-xmpp-client包连接到 XMPP 服务。当服务从某个外部源接收消息时,它会发布消息。我的目标:
- 连接到服务
- 获得认证
- 订阅一些我感兴趣的节点。(节点名称已知)
- 从节点接收节以知道新消息已进入并处理它。
我在这里引用示例代码。
我已经设法使用下面的代码连接到服务。这会自动向服务器验证我的身份吗?我没有收到任何“身份验证”事件。如果没有,我如何明确请求身份验证?
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>