0

単一ページのフォーラムアプリケーションを構築しているとします。多くのユーザーはいつでも新しい投稿を投稿できます。 サーバー上のデータが変更された(つまり、新しい投稿が追加された)ことを、1ページのアプリでどのように知ることができますか。単一ページのWebアプリケーションでサーバー上のデータ変更を処理する

定期的にサーバーから新しいデータを要求することができますが、それは効率が悪いです。Firebaseではデータを非常に簡単に同期させるだけで、データが変更されたときに呼び出されるコールバック関数を追加するだけです。

これは、通常、単一ページのWebアプリケーションで達成される方法ではないかと思います。 Thisは似たようなことがわかった唯一のライブラリです。しかし、再び、それは私が欲しいものではありません。この例では、サーバーはクライアントにデータが変更されたことを通知するだけですが、クライアントはデータを要求して応答を待たなければなりません。データが変更されたときにJSONを受信するよりも効率が悪いです。

誰かがこの質問に答えるとすぐに回答が表示され、ページを更新する必要はありません。どのようにして、新しいデータを定期的に要求するのですか、または新しいデータがあるときにサーバーが単に新しいデータを送信するだけですか?それとも、クライアントとクライアントに新しいデータを要求するよりも通知するだけですか?

答えて

1

socket.ioをご覧ください。

Socket.IOは、リアルタイムの双方向イベントベースの通信を可能にします。 すべてのプラットフォーム、ブラウザ、またはデバイスで動作し、信頼性とスピードに等しく集中します。

サーバーでソケットを設定し、クライアントが聞くことができるイベントを送信するのにsocket.emit(eventName[, ...args][, ack])を使用します。

クライアントでは、ソケットを設定し、socket.on(eventName, callback)を使用して、クライアントサイドアプリケーションをコールバックで更新します。

関連する問題