私は Strophe JS と Openfire を使用して単純な pubsub を実行しています。
設定 :
- OS: Windows7
- たき火: 3.7.0
- Strophe JS、pubsub 用の Strophe プラグイン。
- Tomcat 6: Web ページの提供
使用事例:
2 つの異なるユーザー セッション (xmpp セッション) を持つ 2 つのブラウザー ウィンドウ
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) によって公開された両方のメッセージがクロム (サブスクライバー) コンソールに出力されることを期待しています。しかし、それは最初のものを出力するだけで、Subscribe-callback が 1 回だけ呼び出されるように見えます。