3
A
回答
2
從Sails v0.9.8開始,您可以使用config/sockets.js
中的onConnect
和onDisconnect
函數在套接字連接或斷開系統時執行一些代碼。這些函數可讓您訪問會話,因此您可以使用它來跟蹤用戶,但請記住,僅僅因爲套接字斷開連接,並不意味着用戶已註銷!他們可以打開幾個選項卡/窗口,每個選項卡都有自己的套接字,但所有這些都共享會話。
跟蹤的最佳方法是使用Sails PubSub方法。如果你有一個User
模型和UserController
與login
方法,你可以不喜歡在最新帆編譯:
// UserController.login
login: function(req, res) {
// Lookup the user by some credentials (probably username and password)
User.findOne({...credentials...}).exec(function(err, user) {
// Do your authorization--this could also be handled by Passport, etc.
...
// Assuming the user is valid, subscribe the connected socket to them.
// Note: this only works with a socket request!
User.subscribe(req, user);
// Save the user in the session
req.session.user = user;
});
}
// config/sockets.js
onConnect: function(session, socket) {
// If a user is logged in, subscribe to them
if (session.user) {
User.subscribe(socket, session.user);
}
},
onDisconnect: function(session, socket) {
// If a user is logged in, unsubscribe from them
if (session.user) {
User.unsubscribe(socket, session.user);
// If the user has no more subscribers, they're offline
if (User.subscribers(session.user.id).length == 0) {
console.log("User "+session.user.id+" is gone!");
// Do something!
}
}
}
相關問題
- 1. 使用Firebase跟蹤用戶的在線/離線狀態
- 2. 如何跟蹤用戶在線狀態?
- 3. 使用NowJS/Node.js實時跟蹤在線/離線狀態?
- 4. Android信使應用程序:用戶在線/離線狀態
- 5. 用socket.io向Laravel發送用戶的在線/離線狀態
- 6. 使用Redis跟蹤在線用戶
- 7. 用戶jquery確定在線/離線狀態
- 8. XMPPFramework:我可以確定用戶的在線/離線狀態嗎?
- 9. 如何回撥在線/離線狀態?
- 10. 跟蹤Golang的在線用戶
- 11. django跟蹤最近的在線用戶
- 12. 在JFlex中跟蹤狀態
- 13. ADB狀態離線
- 14. 在離子應用程序中監控在線和離線狀態
- 15. OpenFire PHP中的在線/離線用戶
- 16. MVC4在線跟蹤時間
- 17. 與谷歌Analytics跟蹤離線事件
- 18. 曲線跟蹤
- 19. 如何在Rails中跟蹤在線用戶?
- 20. Sails.js。如何計算在線用戶?
- 21. 用於在線/離線狀態的Skype/MSN/Yahoo圖標
- 22. grails中的在線 - 離線狀態實現
- 23. 如何在線更新用戶的狀態爲離線如果用戶在Android中卸載應用程序
- 24. 如何使用phoenix presence設置和檢索在線狀態(在線/忙/離線)
- 25. Trello如何準確顯示用戶在線/離線/閒置狀態?
- 26. 檢查facebook用戶在線狀態
- 27. MySQL的:用戶在線狀態[求助]
- 28. 如何查看在線用戶狀態
- 29. Sails.js在路線PARAM
- 30. 如何跟蹤在線活動中的用戶?
感謝您的答覆。這答案非常有趣和有用.Thanks了很多。我現在試過了。正如你所說,即使IAM沒有註銷,套接字也會斷開連接。所以,當一個人離線時,即當一個人註銷時,我也需要跟蹤。 – Mahahari