2016-09-26 30 views
-1

オンライン/オフラインユーザーを監視する共通パターンはありますか?表示目的でユーザーのオンラインオフライン状態を監視するためのパターン

私はアプリ上のユーザーのリストを持っており、どのユーザーがオンラインでどのユーザーがオフラインであるかを表示したいと考えています。

オンラインステータスを確認するためにエンドポイントを継続的にポーリングする必要がありますか、またはWebソケットを使用する必要がありますか?

バックエンドはNodeJSで、appはjavascriptの反応ネイティブアプリケーションです。

ちょうど方向を探しています。

User list showing online/offline users

答えて

0

WebSocketをおそらく最速の方法です。

各クライアントにはconnected:プロパティがあり、クライアントの接続が切断されるとfalseに設定され、updateが発行されます。

編集:物事のクライアント側の場合、あなたはこのように、サーバから受信した更新に切り替えることができます。

switch(action.type) { 

    case 'playerDisconnected' : 
     updateOnline(action.playerID); 

サーバーは、プロパティの型と何でも他のデータとオブジェクトを送信します。

+0

詳細を提供することができますか?各ユーザーコンポーネントに警告する必要がありますか?これを行うには良い方法をお勧めできますか? – Chris

+0

@Christ私は自分の答えを更新しました。各ユーザーコンポーネントに警告する必要がある場合は、お客様の責任で行ってください。すぐにそれを持つことは重要ですか?または、必要なときに新しいオンラインユーザーリストを入手できますか? –

+0

理想的にはライブアップデートになるので、ウェブソケットは良いでしょう。 私は各ユーザーがサーバーへのWebソケット接続を作成するコンポーネントだと思っています。 サーバーがユーザーがオフラインであると表示された場合、すべてのコンポーネントを更新することをお勧めしますか? – Chris

0

Socket.ioがこれを行う良い方法です。カスタムイベントonline_userとoffline_userを作成します。クライアント側から対応するイベントを起動し、サーバー側でコールバック関数をトリガーしてユーザーの現在のステータスを更新します。このようにして、ユーザーステータスを処理する最適な方法になります。