問題タブ [cometd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - cometd.subscribe()に渡されるパラメーター
うまくいけば、これはあまり具体的/小さな質問ではありませんが、dojo cometd subscribe()関数の可能な引数が何であるかを誰かが知っているかどうか疑問に思いましたか?
私が見たいくつかの例は、2つのパラメーターを示しています
しかし、私が見たいくつかの実装には、ブール値とパラメーターリストへの可能なオブジェクトが含まれており、コードを読み取ると、関数が4つの引数を処理できることがわかります。私はコードを調べて、実際にどこに到達するかを確認しようとしていますが、コードを分類するのに時間がかかります-ここの誰かがとてもあいまいなことを知っているかもしれないと思っていました。
わずかに接続されたスレッドで-cometdprojectで見つけられる哀れな運賃よりもcometdを使用するためのドキュメントがたくさんあるかどうか誰かが知っていますか?
java - Terracotta を使用した COMET のクラスタリング
JETTY 7.0 の中断されたサーブレット 3.0 API の実装を使用して、Java で記述された COMET Web アプリケーションをクラスタ化しようとしています。
中断/再開サーブレット Web アプリケーションで Terracotta を使用した経験がある人はいますか?
JETTY の Greg Wilkins は、Terracotta での COMET のパフォーマンスに関するいくつかの問題について言及しています。
python - Python コメット サーバー
ロングポーリングメカニズムを介して更新したいリアルタイムフィード (Facebook のニュースフィードに似ています) を持つ Web アプリケーションを構築しています。Python では、Stackless (Comet wsgi の例からビルド) を使用するか、Cometd + Twisted を使用するかのほとんどが私の選択であることを理解しています。残念ながら、これらのオプションに関するドキュメントはほとんどなく、Python での実稼働規模のコメット ユーザーに関する適切な情報をオンラインで見つけることができません。
本番システムで Python に comet をうまく実装した人はいますか? どのようにそれを実行しましたか? また、独自の実装を行うためのリソースはどこにありますか?
javascript - ajaxプッシュWebサイト(activemqまたはcometdなど)を開始するにはどうすればよいですか?
ajax pushを使用するアプリケーションを起動したいのですが、Webサーバーを正しく構成する必要があり、サーバー側のコンポーネントで起動する方法がわかりません。
dojoのcometdから始めて、 activeMQが古く、ajax pushのフラグキャリアであるというブログを読みたかったのですが、セットアップと動作が非常に難しいという別のブログもありました。
今、私は始める前に混乱しています、私の方法を教えてください:) ajaxプッシュ環境を構成する最適な方法は何ですか?
シナン。
callback - コールバックポーリング用にdojox.cometdを設定するにはどうすればよいですか?
これまでのところ、dojox.cometdを構成する方法の例をいくつか見つけましたが、それらのどれもconnectionTypeを構成していません。私は現在、ロングポーリング(私が知る限り、デフォルトのポーリング)ではなくコールバックポーリングに興味があります。
誰かがここで私を助けることができますか?dojoxのドキュメントは私にはかなりあいまいであり、ソースコードでさえ難読化されていることを認めなければなりません(少なくとも私にとっては、私はjavascript-ninjaコーダーではありません)
servlets - comet コールバック ポーリングと jetty-cometd の実装
jetty サーバーに付属する cometd 実装を使用しています。コールバック ポーリング トランスポートを使用したいのですが、javascript からコメット サーバーに接続しようとすると (HTML ページが別の Web サーバーにあることに注意してください)、jetty はサーブレットが GET メソッドをサポートしていないと文句を言います。これはエラー/バグ/突堤の実装の何かですか、それとも何か不足していますか?
java - Dojocometdjavaクライアントで応答をデコードする適切な方法
Dojo cometdチャネルを使用して任意のXMLEncodedJavaオブジェクトを前後にプッシュしたいのですが、ペイロードを正しくデコードするのに問題があります。
これを行うために、チャットルームクライアントのデモンストレーションプログラムの簡略版にこのsendメソッドがあります。
今のところ、UTF-8でエンコードされたバイトストリームにフラット化されたXMLスニペットを作成します(エンコードも処理する必要があることは承知していますが、それは今のところ問題ではありません)。
これを受け入れるメッセージリスナーは次のようになります。
ご覧のとおり、試行錯誤の結果、送信された文字列のより小さい、より大きい、アンパサンドの文字が保護されていることがわかりました。保護を解除してXMLDecodeを呼び出します。
出力は次のとおりです。
リバーシブルです。XMLEncoded /XMLDecodedである文字列オブジェクト内にこれらの文字を配置するという私の実験は良くありませんでした-それらは二重に保護されていませんでした-それで私の野蛮なデコードもそれらに影響を与えました。
問題は、これらの文字列をデコードする適切な方法は何ですか?迅速で汚いコードの代わりに使用する必要のあるJSONライブラリはありますか?cometdのJavaクライアントライブラリでエラーが発生した可能性がありますか?
(注:この実験ではcometd-1.0.0rc0ライブラリを使用しています)。
編集:通信は、cometd通信を処理すると思っていたものとは同じWebサーバー内の別のデプロイメントを介して行われ、そのデプロイメントにはXML保護を行うfilter.jsonが含まれていることが判明しました。
http://groups.google.com/group/cometd-users/browse_thread/thread/6fbdaae669e5f9d3
言い換えれば、私のコード外の構成の問題です。うまくいけば、改訂された展開がこの問題を解決するでしょう。
gwt - GWT を CometD/Bayeux イベントに接続するにはどうすればよいですか?
私はGWTアプリケーションを持っています.GWTアプリケーションは、新しいティック項目が入ってくると定期的に画面を更新する必要があります.また、CometD/Bayeuxサーバーによって発行されたメッセージ(別のAJAXアプリケーション用)もあり、それらを消費したいと思います.私のGWTで。
もちろん、JavaScript にドロップし、Dojo を接続し、JavaScript レイヤーでコールバックを受信し、そこから JSNI を介して GWT Java コードに呼び出しをルーティングできますが、GWT で直接サポートされているようには見えません。非 RESTful RPC 以外の長いプッシュまたは非同期呼び出しを使用する。
GWT と Bayeux をどのように統合しましたか?
grails - Cometd / Grails 1.2.1の問題をデバッグするにはどうすればよいですか?
CometdプラグインをGrails1.2.1に追加すると、grailの「jetty」デバッグ環境が起動しなくなります。
基盤となるコンポーネントに精通していないため、これをデバッグできませんでした。(これは、Grails開発全般の大きな問題です。すべてを隠そうとしますが、Grailsの問題をデバッグするには、すぐにHibernate、Java 1.6、jettyなどのエキスパートになる必要があります)
再現するには、grails 1.2.1プロジェクトを開始し、cometd-grailsプラグインをインストールします。run-appを実行すると、次のように表示されます。
jquery - URLと404エラーに関するJqueryとcometdの問題
私はcometdサーバー用のjqueryクライアントを書いています(私はjquery.cometd.jsプラグインを使用しています)、そして私は考えられる最も単純なケースが機能しない理由のアイデアを使い果たしています。
cometdサーバーはapacheの背後にあり(したがって、この同じドメインで実行されています)、すべてのリクエストはuri http:// wwwhost/cometdから転送されます。
問題は、(handshake()を実行して)cometdに接続しようとすると、リクエストを/ cometdに直接送信するのではなく、/ cometd/handshakeに送信して404エラーが発生することです。テストしていた他のアプリを確認しましたが、dojoは常に/ cometdに接続し、メッセージ「ハンドシェイク」を送信しています。
jquery.cometdがなぜそうしているのか誰にも分かりますか?
これは私がapacheログで見ることができるものです:
以下に私が使用しているコードを見つけることができます(それは多かれ少なかれ私が例から得たものです)。
およびfirebugデバッグ:
編集
私のサーバー実装はcometd以外のURIをサポートしていないようです。Jqueryは最後にメッセージのタイプを追加するため、ハンドシェイクを送信すると、メッセージは/ cometd / handshakeに送信されます。これは、一般に/ cometd/message_typeのように見えます。
cometd.jsコードでメッセージを送信している関数が見つかりました。この関数には、次の3つのパラメーターがあります。
この関数は、たとえば次のように呼び出されます。
つまり、私は常に/ cometd/handshakeで終わるということです。サーバーを修正するか、cometd.jsの追加URLをコメントアウトする必要があります。