問題タブ [ajax-push]
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.
ajax - フロントエンドとバックエンドの間でデータを同期する
私たちはブラウザ ベースのソーシャル ゲームを開発しています。これはMMORPGゲームです。フロントエンド技術として html/javascript/css を使用しています (フラッシュと比較して)。ユーザーが初めてゲームをロードすると、一連のファイル (外部 js/css) がダウンロードされ、いくつかの ajax 呼び出しが要求されます。ユーザーがページを手動で更新しない限り、ページ全体が再度読み込まれることはありません。そして、現金、レベルなどのユーザー固有のデータを保存する js オブジェクトを作成します。また、ユーザーの今後の操作中に変更される可能性があります。そのため、バックエンドからデータを同期する必要があります。特別な問題は、ユーザーのデータが受動的に (他のユーザーによって) 更新される可能性があることです。これは、他のユーザーによる戦闘で発生する可能性があります。だから私の質問は、どのように、いつ同期するのですか?
1) ユーザーがタブをクリックする (html で div を表示/非表示にする) か、可能な操作 (戦う/何かを購入するなど) が行われるたびに、毎回データベースから新しいデータを取得するために ajax リクエストを呼び出します。 . 2) 1) と同様ですが、無駄なデータベース クエリを減らすために、ユーザーのデータが変更されたかどうかを示すプロキシを追加するだけです。ajax 呼び出しは、最初にプロキシに送られます。
1) 70% 以上の役に立たない ajax 呼び出しと db クエリがある可能性があります
2) 70% 以上の無駄な ajax 呼び出しが発生する可能性があります
ここでは 2) のアプローチを使用します。しかし、70% 以上の役に立たない ajax 呼び出しがまだ残っているため、これが最善の解決策だとは思いません。このユースケースに対するより良い解決策はありますか?
説明
役に立たない ajax 呼び出し: 2 つの ajax 呼び出しの間隔があるため、ユーザー データはまったく変更されない可能性があります。
webserver - Ajaxプッシュエンジン
サーバーがデータをWebページにプッシュできるイベント駆動型Webアプリケーションの方法を見つける方法を研究しています。APEを使用できますか?? もしそうなら、どうすればそれといくつかのリソースを使用できますか?
ありがとうございました!!
apache - AJAXプッシュエンジン:APEサーバーに接続できません
Mac OS X10.6.4とApache2.2.14を実行しているMacでAJAXプッシュエンジン(APE)をセットアップしようとしています。
APEサーバーを実行すると、次のように出力されます。
ape.conf
見た目は次のとおりです。
...そしてファイル内の仮想ホストのものはhttpd-vhosts.conf
次のようになります:
でテストファイルを実行すると/Tools/Check/index.html
、次のエラーが発生するAPEサーバーに到達するまでテストに合格します。
これを修正する方法について何かアイデアはありますか?
ありがとう。
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のサブドメインベースのチャネルは設定が少し厄介なようですが、これ以上の代替手段はまだ見つかりません。
php - hmac で JavaScript クライアントを保護する
私が取り組んでいる JavaScript アプリケーションを保護する方法を研究しています。このアプリケーションは、バックエンドとして APE (Ajax Push Engine) を使用するチャット クライアントです。
現在、誰でもページにアクセスして APE サーバーに GET/POST リクエストを行うことができます。チャット クライアントを登録ユーザーにのみ提供したいので、そのユーザーの要求だけが受け入れられるようにしたいと考えています。PHP でユーザー名/パスワード認証を使用して、ユーザーにページを提供できます。しかし、彼らがページを手に入れたら、彼らが JavaScript を変更したり、悪意のある人の手に渡ったりするのを防ぐにはどうすればよいでしょうか?
クライアント/サーバーアプリケーションを保護するためのこの方法は有望に見えます: http://abhinavsingh.com/blog/2009/12/how-to-add-content-verification-using-hmac-in-php/
秘密鍵の送信に依存しないため、これは JavaScript クライアントに理想的であるという別の情報源があります。しかし、これはどうしてですか?上記のチュートリアルによると、クライアントは秘密鍵を提供する必要があります。JavaScriptを持っている人は誰でもそのユーザーの秘密鍵を持っているので、これはあまり安全ではないようです. 私が理解していることから、次のように機能します。
- ユーザーはユーザー名とパスワードでログインします
- PHP はユーザー名とパスワードを検証し、ユーザーの秘密鍵を検索して、それを JavaScript に挿入します。
- Javascript は、(秘密鍵を使用して) 署名を提供し、すべての APE 要求で公開鍵を提供します。
- APE は、計算された署名を受信した署名と比較し、要求を処理するかどうかを決定します。
JavaScriptアプリケーションが秘密鍵を認識する必要がある場合、これはどのように安全ですか?
助けてくれてありがとう!
python - APE サーバーモジュールからの POST リクエストの問題
プッシュ エンジンとして Ajax Push Engine を使用し、メイン サイトには Django を使用しています。新しいユーザーが Http モジュールを使用してチャネルに参加したときに、Django ベースのアプリケーションに要求を送信する必要があるサーバー モジュールを作成しました。私の Django ベースのプロジェクトは、local.jjjbbb.org のローカル マシンで実行されます。
しかし、このコードは機能せず、リクエストが受信されません。URL を他のもの (www.google.com や localhost など) に変更すると、すべてが正しく機能し、結果が得られます。しかし、アプリケーションにリクエストを送信しようとすると、リクエストが機能しません。この問題は、クライアント側からの送信にjQueryを使用すると、サーバー側からリクエストを送信しようとしたときにのみ発生し、すべて正常に機能します。
サーバー側から自分のドメインに POST リクエストを送信できないのはなぜですか?
php - Web ページをよりインタラクティブにするために、AJAX Push は何を支払わなければなりませんか?
(トピックのタイトルが適切でない場合は申し訳ありませんが、以下で説明する内容に関連するものにするために誰かが助けてくれれば幸いです)。
最近、私は AJAX プッシュとそのすべての基本的なアイデアを知ることに非常に興味を持っています。AJAX プッシュ技術が Web ページをサーバー側でよりインタラクティブにすることは知っていますが、すべてのスムーズなインタラクティブな動きの背後には、実装とリソースの処理方法の両方で、ステージの背後にある「ハードワーク」があるようです。
手短に言えば、実装については忘れましょう。AJAX プッシュがサーバー接続に関してどのように機能するか、リソースがどのように (またはどれだけ) 使用されるか、またはこれを実装するときに考慮すべきその他の側面について説明してくれる人が必要です。方法。
私はあまり調査を行っていないので、これに関連するドキュメントがあります。喜んで読んでいます。
asp.net - チャネル上の特定のクライアントに Ajax プッシュを送信する方法は?
Ajax Push メカニズムを使用して、チャネル上の特定のクライアントにデータを送信したいと考えていました。これが私の設計です。10 のクライアントがチャネル #1 にサブスクライブし、さらに 10 のクライアントがチャネル #2 にサブスクライブしているとします。データベースで特定のパラメーターが更新されたときに、Ajax プッシュを送信したいと考えています。チャンネル #1 のクライアント #7 に送信したいと思います。Ajax Push では、Channel #1 のすべてのサブスクライバーに Push を送信できることがわかっています。Ajax プッシュをチャネル #1 のクライアント #7のみに送信する方法はありますか? ありがとう、トサトリ
ajax - Ajax Push - 何を考慮すべきか?
「Comet」、「Ajax Push」、または「Reverse Ajax」を調べていると、APE が見つかりました: http://www.ape-project.org。とても有望そうです。これを経験した人はいますか?知っておくべき長所と短所はありますか?
また、他に検討すべきエンジンはありますか?