2017-07-26 6 views
0

ユーザーが現在「オンライン」か、Meteorサーバーに接続しているかどうかを確認したいと考えています。 ユーザーメッセージを送信する前にこの情報が必要です。ユーザーが接続されていない場合は、電子メールでメッセージを送信します。ユーザーが現在流星群サーバーのオンラインになっているかどうか確認してください

私は、完全に状態のない従来のWebアプリケーションでは、「オンライン」の定義ははっきりしていませんが、最新のWebフレームワークはwebsocketに依存しているため、websocketが開いていると、 。

質問はありますか?流星には、ユーザーが接続されているかどうかを判断する方法が含まれていますか?

答えて

1

要約:はい、そのようなメカニズムがあります。

たとえば、ユーザのアクティブなログイン接続を流行サーバに格納し、独自のコレクションまたはユーザプロファイルの一部として利用可能にするパッケージがあります。

参照:https://github.com/dburles/meteor-presence

(プレゼンスと呼ばれる新しいコレクションを作成します)

またはhttps://github.com/dan335/meteor-user-presence/

(プレゼンスと呼ばれる、ユーザーのプロファイルエントリを作成しますが、また、保存するための収集と更新しています。背景情報)

またはhttps://github.com/mizzao/meteor-user-status

(コメントでbluerenのおかげで)

コード例(最初にリストされているパッケージから)

Meteor.onConnection(function(connection) { 
    // console.log('connectionId: ' + connection.id); 
    Presences.insert({ _id: connection.id }); 
    connections[connection.id] = {}; 
    tick(connection.id); 

    connection.onClose(function() { 
    // console.log('connection closed: ' + connection.id); 
    expire(connection.id); 
    }); 
}); 

あなたがパッケージに依存したくない場合は、そのメカニズムを利用することができる自分自身。

参照:https://docs.meteor.com/api/connections.html#Meteor-onConnection

+1

[流星-ユーザステータス(https://github.com/mizzao/meteor-user-status)も非常に類似しています – blueren

関連する問題