2011-01-03 11 views
1

私はStomp/Orbited for Comet機能を使用しています。Stomp - それぞれユニークなハンドラを持つ複数のサブスクリプション

は、複数のチャネルに対応するために、私はこのこと終わる:

stomp.onmessageframe = function(frame) { 

IF(frame.headers [ '宛先'] == '/ thisFeed /'){// ハンドルthisFeed }

(frame.headers [ '宛先'] == '/ thatFeed /') {//ハンドルthatFeed}

.... OKであり、Iは推測場合

。しかし、読み込み時にフィードを処理する方法がわからない場合はどうすればよいですか?私はこのような何かをすることができるようにしたい:

stomp.subscribe( 'someOtherFeed'、someOtherFeedHandler);

このように、私が購読すると、ハンドラを定義することができます。

答えて

0

私は1つの解決策を思いつきましたが、それはかなりとても遠いです。

私はストンプメッセージを作成すると、私はそうのpythonのように、ヘッダとして "ハンドラ" プロパティを追加します。

conn.send('Frank the Wonder Llama", destination="/infoAboutLlamas/", handler='llamas') 

次に、JavaScriptで:

stomp.onmessageframe = function(frame) { 
    window[frame.headers['handler']]() //Execute the function named by the handler 
} 

...関数llamas()が呼び出されます。私はどこにでもラマを定義(そして再定義)することができます。

これは最適な解決策ではないと確信しています。それに対して、私はPythonで使いたいハンドラを柔軟に指定することができます。しかし、真剣に、私は良い方法があると思っています。

関連する問題