0

HTML5 Web Notifications API が役立つかどうかを理解しようとしていますが、その仕組みを理解するには不十分です。

Web アプリケーション内でメッセージuser_aを送信できるようにしたいと考えています。user_b

user_bこれについての通知を受け取りたいと思います。

Web 通知 API はここで役立ちますか? (サイトが更新されたことを全員に通知するのではなく) 特定のユーザーをターゲットにすることはできますか? 1 人のユーザーに対してアラートを作成する方法がわかりません。

誰かがもう少し理解するのを手伝ってくれますか?

4

3 に答える 3

1

通知 API はクライアント側であるため、別のクライアント側テクノロジからイベントを取得する必要があります。ここで、これを読んでください: http://nodejs.org/api/。冗談だ。ここでは Node.js+socket.io がおそらく最良の方法です。1 つまたはすべてのクライアントにイベントを送信 (ブロードキャスト) できます。それはプッシュシナリオです。または、各ユーザーがサーバーから通知をプルしている可能性があります。

于 2014-04-22T16:27:08.453 に答える
0

あなたが探しているのはWebSocketです。これは、クライアント (ブラウザ) がサーバーへの永続的な接続を開き、サーバーの気まぐれでそこからデータを受信できるようにするテクノロジです。サーバーを「ポーリング」して何か新しいものがあるかどうかを確認する必要はありません。

ここでの他の回答では既にnode.jsについて言及していますが、Node は、サーバーに websocket を実装するための (おそらく最良の) オプションの 1 つにすぎません。また、PHP 用の websocket サーバー ライブラリであるRatchetや 、Python のTornadoにも慣れているかもしれません。

リアルタイム通信をどのように処理するかは、あなた次第です。Websocket は、データをやり取りするために使用できる基盤となるテクノロジにすぎません。これのクライアント側はかなり簡単ですが、サーバー側では、websocket ハンドラーが相互に情報を取得するためのメカニズムが必要になります。キューを処理するためのZeroMQや、永続的に保存する必要のない大量のデータを処理するためのMemcachedRedisなどのツールを検討してください。

于 2014-10-02T05:00:50.890 に答える
0

HTML5 Web Notifications API を使用すると、アプリケーションが生成したデスクトップ通知を表示できます。あなたが達成しようとしていることは別のものであり、Web 通知はシナリオの一部にすぎません。

アプリケーションの管理方法に応じて、humbolight が述べたようにチャットとメッセージングの目的で、node.js を調べる必要があります。ユーザー間のメッセージの送受信を管理するために必要なバックエンドを提供します。

メッセージを受信したことをユーザーに通知するには、クライアント側で ajax ポーリングを選択できます。x 秒ごとにサーバーに ping を送信し、このユーザーに利用可能な通知または新しいメッセージがあるかどうかを確認する JavaScript を作成するだけです。応答が成功した場合、HTML5 通知 API を使用して、ユーザーに新しいメッセージがあることを示すメッセージを表示できます。長いポーリングの主な問題は、サーバーの負荷と、メッセージがない場合でも帯域幅の使用量です。ユーザー数が数千の場合、サーバーはポーリング呼び出しに応答して常にビジーであることが予想されます。

別の方法は、Server Sent Events API を使用することです。この場合、サーバーにリクエストを送信し、サーバーは通知/メッセージが利用可能になるとすぐにそれらをクライアントにプッシュします。これにより、不要なクライアント - >サーバーのポーリングが削減され、あなたのケースでははるかに優れたオプションと思われます。開始するには、 HTML5Rocksで優れたチュートリアルを確認できます 。

于 2014-10-02T04:41:53.853 に答える