我正在使用 Strophe JS 和 Openfire 来做简单的 pubsub。
设置 :
- 操作系统:Windows 7
- 开火:3.7.0
- Strophe JS,用于 pubsub 的 Strophe 插件。
- Tomcat 6:服务网页
用例:
具有两个不同用户会话的两个浏览器窗口(xmpp 会话)
Firefox(user1)---->发布
者 Chrome(user2)---->订阅者
代码:
//XConn represents Strophe Connection
//creating PUBSUB NODE (Firefox)
XConn.pubsub.createNode(
XConn.jid,
'pubsub.localhost',
'PUBSUB_NODE',
{},
function (){
}
);
//Adding subscriber to created node (Chrome)
XConn.pubsub.subscribe(
XConn.jid,
'pubsub.localhost',
'PUBSUB_NODE',
[],
function(msg){ console.log(msg);},
function(sub){ }
);
//publishing item to node (Firefox)
XConn.pubsub.publish(XConn.jid,'pubsub.localhost','PUBSUB_NODE',[ '<item><book xmlns="pubsub:test:book"><title>Book1</title></book></item>']);
XConn.pubsub.publish(XConn.jid,'pubsub.localhost','PUBSUB_NODE',[ '<item><book xmlns="pubsub:test:book"><title>Book2</title></book></item>']);
我期望发布者(firefox)发布的两个消息都应该打印在 chrome(订阅者)控制台上。但它只打印第一个,看起来订阅回调只被调用一次。