5

Web サイトのユーザー (学生と教師など) が安全な接続を共有し、1 つのページのリアルタイム更新が両方で表示される方法を見つけようとしています。調査の結果、一部のリアルタイム更新は ajax と JavaScript を使用して実行できると結論付けました。

しかし、2 人のユーザーだけが Web サイトで行われる更新 (描画ボードのフラッシュ アニメーションなど) を表示する接続をユーザーが共有する方法については困惑しています。このような接続を設定します。

intp php セッションと Cookie を調べましたが、正しい調査を行っているかどうかはわかりません。2 人の特定のユーザーが安全な接続を共有し、リアルタイムの更新がその 2 人だけに表示される方法についての指針。私は簡潔な応答をしたくありません。関数やphpに固有の構文などの特定の詳細を探しています。助けに感謝します。良い答えを教えてくれたら評価します!

4

5 に答える 5

2

1つのクライアントから1つのサーバーへの安全な接続(HTTPSなど)を共有することはできません。

両方のクライアントがログインしていて、ブラウザでバックグラウンドAJAXタスクを実行している場合、各クライアントが数秒ごとに同じデータを「プル」して、両方のユーザーに表示することは許容されますか?

これには、「製図板」の更新をサーバーに継続的に送り返して、更新されたデータを他のクライアントと共有する必要があります。データの投稿をトリガーするために使用できるイベントがあると確信しています(たとえば、マウスを上に向けた場合)。

パフォーマンスが問題になる場合は、データベースに永続化することなく、要求間のセッション状態を維持できるJavaなどのより優れたサーバーテクノロジを使用することをお勧めします。

于 2012-05-17T22:12:27.850 に答える
0

あなたはajaxプッシュテクニックを見ることができます。私はかつて、管理者がメッセージを投稿し、ログインしたすべての人がそのメッセージが画面に表示されるのを見たコメットを使用しました。コメットがPHPをサポートしているかどうかはわかりません。私はJSPでのみ使用しました。Googleで「ajaxpush」を検索するだけです。

于 2012-05-17T22:09:37.293 に答える
0

これが起こっているいくつかの良い例:

使用できるテクニック (さまざまなブラウザーのサポートで)

サーバーから Web ブラウザ クライアントに実際にデータをプッシュする (別のクライアントから何かを受信したときにそれを行う) ことは、私の知る限り、WebSockets でのみ可能です。他のメカニズムでは、ブラウザ プラグインまたはスタンドアロン アプリケーションのいずれかが必要になります。

ただし、Comet (AJAX 経由) を使用すると、データを定期的にサーバーにポーリングすることで、データのプッシュに非常に近づくことができます。ただし、従来のポーリング (たとえば、クライアントが 5 秒ごとにデータを要求する場合) とは異なり、コメットの原則では、サーバーはその定期的な要求の人質を、たとえば最大 30 秒間保持します。サーバーは、データを取得するかタイムアウトになるまで、データを送り返しません。そうすれば、その 30 秒間に、サーバーが受信したデータを即座に他のクライアントにプッシュ バックできます。その直後、クライアントは新しい 30 秒のセッションを開始します。

Comet と WebSockets は両方とも、Apache が提供する PHP バックエンドで動作するはずですが。これについては、NodeJS (サーバーテクノロジとして) を検討することをお勧めします。

コメットに関する情報はインターネット上にたくさんあります。Google で検索することをお勧めします。

Comet の優れた点は、それが技術というよりも原理であるということです。既にあるもの (AJAX を使用した単純な HTTP 要求) を使用するため、ブラウザーのサポートは非​​常に広範です。

サポートされている場合はソケットを使用し、Comet にフォールバックする組み合わせを行うこともできます。

于 2012-05-17T22:18:37.493 に答える
0

Flash はユーザー間の接続を可能にします。ユーザーはそれらをソケットと呼んでいると思います。
Ajax などを使用する場合は、プッシュをサポートするサーバー側のテクノロジが必要です。
この点ではノードが標準であり、Heroku インスタンスを無料でセットアップできます。

他にもありますが、アプリケーションを学び始める前に、ツールを学ぶ必要があります。

多くの概要の中で、これはあなたに興味があるかもしれません:
http://arstechnica.com/business/2012/05/say-hello-to-the-real-real-time-web/?1

于 2012-05-17T22:15:36.387 に答える
-1

私はあなたがこれを調べたと確信しています。これが ajax を介して実行できるという意見は、Web サイトの 2 人のユーザーが JavaScript を介して通信できると誤解を招くものです。

ご存じのとおり、javascript はクライアント上で発生し、ajax は基本的に「ページの変更や更新なしでサーバーと対話」します。

Web サイトの 2 人のユーザー間の通信は、サーバー (php と選択したデータストア) を介して行う必要があります。

それが簡潔ではなかったことを願っています。乾杯、ロブ

于 2012-05-17T22:13:11.610 に答える