問題タブ [cometserver]
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.
cometserver - プッシュ テクノロジー : Windows 用のオープン ソース実装はありますか
最近、プッシュ技術について読みました。リアルタイム データ ストリーミングの使用は非常に簡単です。ajax プッシュ エンジンという実装も見ましたが、Linux または Mac サーバーで動作します。このテクノロジを asp.net サイトで使用したいと考えていました。
Windows プラットフォームで直接使用できるプッシュ テクノロジのオープン ソース実装はありますか?
webserver - 高速シングルスレッドコメットサーバー、可能ですか?
最近、サーバーが「最近のアクティビティ」ボックスなど、すべてのリスナーにまったく同じデータを含むイベントストリームを配布するいくつかのケースに遭遇しました。
Apacheのようなサーバーでスレッド処理を実行し、同じデータを含むすべてのコメットストリームについてデータベースにクエリを実行するのは、非常に奇妙で非効率的であることに気付きました。
これらのグローバル(ユーザーごとではない)ストリームに対して行うことは、データを継続的に送信する単一のスレッドと、ヘッダーを出力してメインスレッドに「マージ」する新しいリクエストごとに新しい(グリーン)スレッドを実行することです。
1つのスレッドが複数のソケットにサービスを提供すること、または複数のクライアントが同じソケットをリッスンすることは可能ですか?
例
o=イベント
このようなものはありますか?それはうまくいくでしょうか?できますか?
免責事項:私はサーバーの専門家ではありません。
ajax - Ajax Push Engine (APE サーバー) が有効な場合、Ajax Upload が失敗する
APE comet サーバーを無効にすると、AJAX ファイルのアップロードが正しく実行されます。有効にすると、PHP からの response.responseText は解析されません。
この問題は、約 1 か月以上前から私を悩ませてきました。
同じ問題を抱えた別の人がここにいます:猿の彗星サーバーのためにajax-uploadを使用できません
誰でも私たちの両方を助けてくれませんか?
chat - Ajaxプッシュエンジン(Comet)と永続的なチャット-実装方法は?
私たちはオンラインのリアルタイムWebブラウザゲームを開発しており、APEサーバーを使用することを選択しました。以前のプロジェクトのゲーム内チャットシステムがあり、それをAPEに移植したいと思います。私たちはAPEに少し慣れていないので、どちらのシナリオがうまく機能するか、あるいはまったく機能しないかについてはわかりません。
現在、チャットは次のように機能します。-チャットには4つの部屋があり、ユーザーがページを完全にリロードすると、ユーザーが特定のゲームの側面(トレード、ファイトなど)について話し、db(データベース)から最新の30メッセージを取得します。開いたチャットルーム-チャットは定期的にAJAX要求を発行して、いずれかのチャットルームに新しいメッセージがあるかどうかを確認しますが、実際の最新のメッセージは、現在開いているチャットルームに対してのみダウンロードされます。さらに複雑にするために、チャットを別々の言語に分割しました。ユーザーは、設定Cookieにある言語のメッセージのみを受け取ります。彼らはいつでもそれを変更することができ、それから彼らは他の言語のメッセージを受け取るでしょう。
ページをまったくリロードせずに完全にAJAXベースのシステムに移行しているため、dbから最新の30メッセージを取得するためのリクエストを自動的に最小化します。
しかし、難しいのは、メッセージをdbに保存し、APEを介してユーザーに送信する方法を整理する方法です。
次のオプションを検討しました。-ユーザーがメッセージをPHPスクリプトに送信し、dbに送信してから、PHPがinlinepushを介してメッセージをAPEに送信します(ドキュメントによると、inlinepushは1つのチャネルのみをサポートしているため、どのように機能するかはわかりません。次に)そして、APEはすべてのユーザーにメッセージを送信します(APEサーバーにユーザーの優先言語も保存する必要があるようです。そのため、メッセージは適切なユーザーにのみ送信されます)。-ユーザーはメッセージをAPEサーバーに送信し、APEサーバーはそれを同じ言語の他のユーザーに配信し、PHPスクリプトを呼び出してメッセージをdbに保存します。-ユーザーはメッセージをAPEサーバーに送信し、APEサーバーはそれを同じ言語の他のユーザーに配信し、APE独自のMysql機能を使用してメッセージをdbに保存します。
一方で、PHPを介してデータを保存することを好みます。これは、非常に堅牢なdbアクセスライブラリがあり、チャットメッセージを保存するためだけにAPEとJavascriptに移植することを避けたいためです(サーバー側のJSの経験もありません)。 )。しかし、それがいくつかの良い利点をもたらすのであれば、もちろん、APE独自のMysqlを使用します。
また、APEはすべてのユーザーを言語でフィルタリングし、適切なユーザーにのみメッセージを送信できるのでしょうか。APEはCookieをどのように処理していますか?
また、APEのサブドメインベースのチャネルは設定が少し厄介なようですが、これ以上の代替手段はまだ見つかりません。
gwt - Jetty が Rocket パッケージから CometServerServlet を見つけられないのはなぜですか?
Rocket-Framework を使用して (しようとして)、CometServerServlet を実装する一般的な GWT アプリケーションがあります。次のように、web.xml と app.gwt.xml にサーブレットを登録した後:
App.gwt.xml:
<servlet path="/server" class="myapp.server.MyCometServlet"/>
web.xml
Jetty は明らかに、MyCometServlet の拡張元である CometServerServlet を見つけられません。
警告: ハンドラ java.lang.NoClassDefFoundError の開始エラー: ロケット/リモーティング/サーバー/コメット/コメットサーバーサーブレット
原因: java.lang.ClassNotFoundException:rocket.remoting.server.comet.CometServerServlet
自分のプロジェクトに Rocket jar を追加したので、これは奇妙です。
誰かがこのエラーが発生した理由を説明できますか?
サーブレットを間違った方法で「登録」したかどうかは理解できましたが、どの時点で Jetty (または誰?) が CometServerServlet を探して、それを見つけることができなかったのでしょうか?
javascript - Comet WEB サーバーの実装
私は最近 1 つの質問をしました:-複数のクライアントで Web サーバーを処理する
streamhub、Maven/Jetty などのコメット サーバーを実装するための基本的な手法を確認しました。それについては、次の質問があります。
その後、ネットから特定のファイルをダウンロードするためにMaven/Jettyインターネット接続が必要な場合のような問題を発見しました.Webサーバーがホストされているマシンにインターネット接続がない場合でも実装できますか?
また、上記の質問で述べたことを達成するために、オープンソースのツール/テクノロジーが必要です。ストリーム ハブはオープン ソースの無料版ではないと思います。無料/オープンソースで使用できるツールを知っている場合は、助けてください。
現在、Web アプリケーションは apache Web サーバーで実行されています。したがって、comet サーバーを使用する場合、その中でどのような変更を行う必要がありますか??
助けてください...よろしくお願いします...
node.js - comet サーバーに関係なく、comet アプリケーションの負荷テストに使用するクライアント
私たちはアプリの開発を進めており、次のことから始めました。
- Servlet 3.0 コンテナーを備えた Spring SockJs Java サーバー (非同期サポート)
- SockJs JavaScript クライアント。
負荷の側面をテストするために、Bayeux API を使用してクライアントを作成しました。これは WebSocket 用であり、ポーリング用ではありません。
Node は非同期通信の強力なケースであるため、Java サーバーに対する負荷容量を評価したいと考えています。記事から、Node.js の方法に「重大な」利点がない限り、Node.js は拡張可能であると感じています。そして最も重要なことは、一般的な意見に乗るのではなく、特定のユースケースで試してみたいということです。したがって、一定期間にわたってオープン接続処理でそれらをベンチマークしたいと考えています。私の質問:
- Java ベースのサーバーと NODE の両方に接続できる共通のクライアントを Java で作成することは可能ですか? 最終的には HTPP であり、それを公開するものは問題にならないため、可能と思われますが、適切なクライアントを取得していません。Bayeux でさえ、NON websocket ユース ケースでは機能しません - 同じ API を使用して、SockJs、CometD、および Node サーバーの「Websocket」接続をテストしましたが
- 非 Websocket の場合、たとえば、CometD、SockJs、または NODE のいずれであっても「関係なく」サーバーに対して実行できるクライアントをロング ポーリングまたはストリーミングしますか?
- SockJs cleint は Java スクリプト クライアントです -ブラウザからの接続をエミュレートできます -サーバー用の Java クライアントはありますか?
javascript は初めてです - 負荷テストは javascript でどのように記述され、どのように実行されますか (ソケット 1 はブラウザから実行できません) - github のサンプル コードはありますか?
java - チャネルを使用してデータを cometd サーバーに配信する
サーバーにサブスクライブしているときに、サーバー側にデータを配信するにはどうすればよいですか?
例として、
/alert/12345 をサブスクライブするときに、alert_type、date_time などの他の情報を CometD サーバーに送信したいと考えています。