我想確定用戶目前是否「在線」或連接到Meteor服務器。 我在發送用戶消息之前需要此信息,如果用戶未連接,我想通過電子郵件發送消息。檢查用戶目前是否在線流星服務器
我知道,對於完全無狀態的傳統Web應用程序,「在線」使用的定義有點不清楚,但由於現代Web框架依賴於WebSocket,如果WebSocket打開,用戶應該在線。
問題是流星是否包含確定用戶是否連接的方法?
我想確定用戶目前是否「在線」或連接到Meteor服務器。 我在發送用戶消息之前需要此信息,如果用戶未連接,我想通過電子郵件發送消息。檢查用戶目前是否在線流星服務器
我知道,對於完全無狀態的傳統Web應用程序,「在線」使用的定義有點不清楚,但由於現代Web框架依賴於WebSocket,如果WebSocket打開,用戶應該在線。
問題是流星是否包含確定用戶是否連接的方法?
總結:是的,有這樣的機制。
這裏有一個例子,它將用戶的活動登錄連接存儲到流星服務器,並通過自己的集合或作爲用戶配置文件的一部分使它們可用。
參見: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
[流星用戶狀態(https://github.com/mizzao/meteor-user-status)也很類似 – blueren