問題タブ [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.
java - Java で CometD を使用してハンドシェイクを実行できない
私が取り組んでいるcometdの例があります。この例では、javascript クライアント コードを示します。接続して同じことを実行できる Java クライアントを作成しようとしています。唯一の問題は、接続できないことです。
を呼び出すとhandshake();
、次のように返されます。
何が起こっているのか正確にはわかりません。Javascript クライアント コードは次のとおりです。ユーザーがページ上のボタンをクリックすると呼び出されます。ハンドシェイクを実行します。
これを試して複製するために使用しているクライアント コードを次に示します。私はそれに渡しhttp://localhost:8080/cometd/login
ます:
サーバー上で実行中のサーブレットがあります。私はそれにブレークポイントを持っています。ボタンがクリックされたときに呼び出されていることがわかります JavaScript バージョンを使用しています。ただし、自分のバージョンを使用しても呼び出されません。
それが役立つ場合は、サーブレットを次に示します。
そして、ここに web.xml ファイルがあります:
jsf-2 - h:outputScriptで使用するcometdjavascriptパス
WebアプリケーションでCometDを構成しようとしています。このWebアプリケーションはCometDのクライアントであり、JSF 2.0、primefaces 3.3.1を使用し、glassfishで実行されます。このアプリケーションでは、このグローバル変数は未定義です。
おそらく私の問題の原因はjavascriptライブラリのリンクです:
これがJavaScriptファイルをインポートするJSPの方法であることは知っていますが、h:outputScript...に使用するパスがわかりません。
PS。このモジュールにこの依存関係を追加しました。
grails - Grails with Comet の作業例
Cometを使用してサーバープッシュ テクノロジを Grails アプリケーションに実装しようとしています。以下の 2 つのリンクから 2 つの例を試してみましたが、うまくいきません。エラー/例外は発生しませんが、その意味では機能せず、期待される結果を確認できません。
実際の例、ポインタ、リンク、提案などの形での助けは本当に感謝しています。
注:上記の投稿からわかるように、この記事は 2 ~ 3 年前のものです。現在、Grails v2.1.0 を実行しており、cometd プラグインは v0.2.2 です。IDE は NetBeans v7.2 です。
java - CometD - Tomcat Jetty でデモを実行する方法
CometD でデモ AP を実行しようとしています。Mavenをインストールしました。コマンドhereに従いました。私のコンソールでは、それが表示されます[INFO] Starting scanner at interval of 1 seconds.
。Apache Tomcat のメイン ページにアクセスしhttp://localhost:8080/
て見ましたが、プロジェクトが表示されません。それらのプロジェクトを表示するにはどうすればよいですか。デモをテストしたい。助けてください。
mvn jetty:deploy-war
ところで、以下は、jetty サーバーを起動するコマンドを実行した後にコンソールに表示されるログです。
cometd - Cometd : ServerChannel が一部のサブスクライバーを失ったようです
通知のプッシュを実現するために cometd を使用しましたが、次の問題が見つかりました:
システムにログインした後、最初は、クライアントはサーバーからメッセージを受信できますが、かなり長い間待機したり、他の操作を行ったりすると、クライアントは受信できない場合があります。サーバーからメッセージを受信しなくなりました。他の誰かがこの問題に遭遇しましたか? 前もって感謝します。
ブローは私のコードです:
1.クライアントコード
2. AbstractService と統合する ServletContextAttributeListener
3. サービス
servlets - GlassfishのCometdサーブレットが予期しない応答を返しています302
私はcometdを使用するのはまったく新しいので、cometdを使用してWebアプリケーションでプッシュメッセージを有効にしようとしています。jetty 8でテストに成功した後、cometdをWebアプリケーションに直接接続しようとしているので、web.xmlを次のように変更しました。
javascriptクライアントが初めて接続しようとすると、400エラーが発生します。
Javaクライアントがチャネルで公開しようとすると、次のようになります。
それを解決するために私にできることはありますか?または、Jettyを使用してcometdサーバーを実装する必要がありますか?
server-push - cometdチャンネルで公開できません
チャネルで文字列を公開しようとすると、次のエラーが発生します。
これは公開しようとしているコードです:
ご覧のとおり、このクラスは別のスレッドで実行されています。これは私のpom.xmlの一部です:
誰かがそれを解決する方法を知っていますか?
android - cometdプロトコルを使用してAndroidでcometDapiを呼び出す方法
AndroidアプリケーションでCometDAPIを使用したい。私はすでにCometDAPIを持っています。私はそれを呼び出して、いくつかのデータを共有したいだけです。
だから私は私のAndroidアプリケーションでどのように使用できますか?標準的で時間のかかる提案をお願いします。`
前もって感謝します。
java - クライアントでウィンドウをポップアップするチャットアプリ
シンプルなチャットアプリを作りました。データベースを使用しますが、クライアントが数秒ごとにデータベースにクエリを実行するため、これは効率的ではありません。とにかく、私は必要なことを達成しました。ポーリングやコメットのような良い方法があります。後で実装します。時間をかけてこれを読んでください。これにはほとんど問題がありません。1) 2 人のユーザー 100 と 101 を考えてみましょう。100 が 101 にメッセージを送信すると、ID が 100_101 として DB に保存されます。3) メッセージを順番に受け取ることができます。
問題-
1) ユーザーは特定のウィンドウを開いたままにしておく必要があります。
新しいメッセージがあるときにポップアップが開くようにします。それを達成する方法。
2) ユーザー (100) が入力しているときに、100 の 101 チャット ウィンドウのみが開いている場合、ユーザー (101) には「100 が入力中です」というテキストが表示されます。これには、データベース関連のものは含まれません。
私が行った仕事。ユーザー(100)がサーバーへの入力を開始すると、サーバーにデータを送信できます。データの送信方法、つまりデータをユーザーにプッシュする方法(101)。
私の現在のコードは以下です。
アヤックス
サーブレット
簡単で有効なアイデアをいただければ幸いです。
node.js - Node.Js でグローバル変数アクセスを同期する方法。チャットルームアプリケーションの開発にnodejsは正しい選択ですか?
NodeJS は、クライアントが HttpLongPolling と WebSocket を介してチャット ルームにサブスクライブするマルチ チャット ルーム アプリケーションをサポートできますか? チャット ルーム ソリューションについて考えると、長いポーリング リクエストへのブロードキャスト中に同期ブロックが必要であり、メッセージが diff で受信されたときにソケット接続が必要であることがわかります。周波数。私の知る限り、JS にはマルチスレッドと同期ブロックの概念はありませんが、それでも JS でグローバル変数にアクセスするには、同期ブロックが必要です。私の問題は、チャット ルーム ソリューションを開発することではありませんが、チャット ルーム ソリューションに似ています。つまり、チャンネルを購読しているさまざまなユーザーにタイムリーにメッセージをブロードキャストすることです。NodeJs はこれに適した選択ですか?
私は CometD を分析しましたが、このソリューションには正しい選択であると思われます。このソリューションには、チャネル コンセプトを備えたシステムに組み込まれたソリューションが付属しています。しかし、CometD にはスケーラビリティの問題があるため、軽く見えるが NodeJs でこのソリューションを開発する必要がある nodejs を試しています。メッセージを処理する必要はありませんが、ブラウザ クライアントに渡すだけです。
なにか提案を ?