我正在使用 Electron 框架和 node-xmpp 模块创建一个聊天应用程序来进行 XMPP 通信。
除了使个人事件协议起作用之外,我几乎做了所有事情。专门向名册发送一个新昵称。
当我发送 PEP 节时
<iq from='test@localhost' type='set' id='pub1'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='http://jabber.org/protocol/nick'>
<item>
<nick xmlns='http://jabber.org/protocol/nick'>I am a test user</nick>
</item>
</publish>
</pubsub>
</iq>
我得到一个回应 IQ 节:
<iq from="test@localhost" type="result" to="test@localhost/testapp" id="pub1">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="http://jabber.org/protocol/nick">
<item id="5D4E0BB8EB3C6"/>
</publish>
</pubsub>
</iq>
现在,根据XEP-172 示例 6,我应该会收到一条带有昵称的消息,该昵称也会发送给我的所有联系人。它应该如下所示:
<message from='test@localhost' to='otheruser@localhost' type='headline' id='foo'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='http://jabber.org/protocol/nick'>
<item>
<nick xmlns='http://jabber.org/protocol/nick'>I am a test user</nick>
</item>
</items>
</event>
<addresses xmlns='http://jabber.org/protocol/address'>
<address type='replyto' jid='test@localhost/chatapp'/>
</addresses>
</message>
问题是我没有收到用户名册中其他联系人的任何消息。甚至对我自己也不行。
在 ejabberd 服务器上启用 PEP 是否缺少任何步骤?我应该包括任何额外的节或信息吗?
谢谢!