是否有可能在服務器端捕獲非活動用戶會話? 我使用兩個intervalls構建了一個解決方案,但這使得我的頁面每20秒更新一次,因爲客戶端每20秒推送一次他的聯機狀態。我知道Meteor.logout([callback])函數,但我必須檢測到客戶端正在關閉瀏覽器窗口而不登出的天氣。我找到了meteor client user sessions demo,但這並沒有我需要的功能。有沒有解決方案呢?在服務器端捕獲用戶斷開連接
2
A
回答
2
時退房meteor-profile-online
包(您需要安裝meteorite):
Profile.online是流星智能包裝提供了方便的方式來揭露帳戶的在線狀態。
它添加了profile.online
屬性的用戶對象,這是由您可以配置的保持有效切換。
它使用您在問題(輪詢)中提到的相同方法,但這是真正實現它的唯一方法。至少這個軟件包將它很好地整合到流星中,並與被動的Meteor.keepalive
相結合。
2
我想通了一種方法來捕捉使用websocket的斷開連接。這不會使用輪詢來保持狀態爲在線狀態。基本上,你犯了一個任意的發佈和訂閱它在客戶端:
Meteor.publish "statusWatcher", ->
id = @_session.userId
@_session.socket.on "close", Meteor.bindEnvironment(->
Meteor.users.update id,
$set: {'profile.online': false}
一如往常,這是受流星API的變化,但您可以安裝這是一個聰明的包裝和社區可以保持它最新:
相關問題
- 1. 如何在服務器端捕獲客戶端的連接和斷開連接?
- 2. 處理WinRT StreamSocket斷開連接(服務器端和客戶端)
- 3. 當客戶端斷開連接時保持服務器打開
- 4. 服務器在客戶端斷開連接後收到消息
- 5. 客戶端斷開連接時,服務器不會移除/斷開套接字
- 6. 獲取用戶會話斷開連接的服務器名稱
- 7. Deepstream.io - 客戶端斷開連接時的服務器回調?
- 8. 客戶端斷開連接後服務器很奇怪
- 9. node.js http服務器,檢測何時客戶端斷開連接
- 10. 客戶端斷開連接時服務器掛起
- 11. c#檢測客戶端從服務器斷開連接
- 12. Bluez gatt服務器與客戶端斷開連接的事件
- 13. 如何檢測客戶端從node.js服務器斷開連接
- 14. 服務器上的JAX-WS句柄客戶端斷開連接
- 15. Alchemy Websocket服務器 - 如何強制斷開客戶端連接?
- 16. Mannaging SQLConnection/Datasnap通過客戶端 - 服務器斷開連接
- 17. Thrift服務器:檢測客戶端斷開連接(C++庫)
- 18. 使Web服務器與客戶端斷開連接?
- 19. Pusher.com - 在有人連接/斷開連接時獲取通知的服務器端
- 20. Playframework彗星socket捕獲客戶端斷開連接
- 21. Flex客戶端從BlazeDS目標斷開連接時檢測(在服務器端)
- 22. Android tcp客戶端連接,然後從java服務器斷開連接
- 23. (Restify,ReactJS,Node.js)Socket.io客戶端狀態斷開連接,服務器記錄連接
- 24. 客戶端斷開連接
- 25. 在雙工WCF服務中處理客戶端斷開連接
- 26. 使用會話ID斷開用戶與服務器的連接
- 27. 命名管道:服務器端如何知道客戶端已斷開連接?
- 28. 客戶端連接或服務器端?
- 29. 在服務器端,獲取客戶端連接的服務器IP
- 30. 檢測Web服務中的客戶端斷開連接