2015-11-04 85 views
0

僅當存在新請求時,HttpSession的lastSeen纔會更新。但是,在我的環境中,我有一個WebSocket連接,並且只要Web連接處於活動狀態,我就想保持會話活動。但是,我找不到一個正確的方法來做到這一點。如何讓會話在Dart中的WebSocket中保持活動狀態?

定期啓動另一個HTTP請求可能是一個解決方案,但我正在尋找可以在WebScoket的處理程序中完成的操作。

注:WebSocket連接不會被關閉。相反,會話可以超時。這意味着request.session可以在處理一個WebSocket消息時返回不同的實例。

回答

0

據我所知,WebSockets已經支持ping控制幀來保持連接的活躍。請參閱The official spec

至於我可以告訴大家我從來沒有見過被提前收市的WebSocket的。

+0

WebSocket不會關閉,但會話超時(如果再次訪問,則重新創建)。從源代碼中,僅在創建新的_HttpRequest實例時調用_HttpSession._markSeen。即使您擁有繁忙的WebSocket連接,您也可以檢查_HttpSession.lastSeen永遠不會更改。 –

相關問題