2017-07-26 4 views
0

Ich möchte feststellen, ob ein Benutzer gerade "online" ist oder mit dem Meteor-Server verbunden ist. Ich brauche diese Informationen, bevor ich die Benutzer-Nachricht sende, Wenn der Benutzer nicht verbunden ist, möchte ich die Nachricht per E-Mail senden.Überprüfen Sie, ob ein Benutzer gerade online zum Meteorserver ist.

Ich weiß, dass für traditionelle Web-Anwendungen, die völlig state-less sind die Definition von "Online" ist ein bisschen nicht klar, aber da moderne Web-Frameworks auf Websocket beruhen, soll ein Benutzer online sein, wenn ein Websocket geöffnet ist .

Die Frage ist Meteor enthalten eine Methode, um festzustellen, ob ein Benutzer verbunden ist oder nicht?

Antwort

1

Zusammengefasst: Ja, es gibt einen solchen Mechanismus.

Es gibt beispielsweise Pakete, die die aktiven Login-Verbindungen der Benutzer mit dem Meteorserver speichern und entweder über eine eigene Sammlung oder als Teil des Benutzerprofils zur Verfügung stellen.

See: https://github.com/dburles/meteor-presence

(Erstellt eine neue Kollektion, genannt Presences)

oder https://github.com/dan335/meteor-user-presence/

(Erstellt ein Profileintrag des Benutzers, die so genannte Präsenz hat jedoch auch eine Sammlung zu speichern und zu aktualisieren. die Informationen im Hintergrund)

oder https://github.com/mizzao/meteor-user-status

(Dank blueren in den Kommentaren)

Code-Beispiel (aus dem ersten aufgeführten Paket)

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); 
    }); 
}); 

Wenn Sie möchten, auf den Verpackungen nicht berufen können Sie Verwendung dieses Mechanismus selbst machen .

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

+1

[Meteor-user-Status] (https://github.com/mizzao/meteor-user-status) ist auch sehr ähnlich – blueren

Verwandte Themen