2012-09-30 42 views
5

我正在開發SPA(單頁網頁應用程序);這個想法是輕量級的,並沒有使用太多的框架和抽象和東西,所以我創建了靜態+動態文件的HTTP服務器,它運行良好。現在我已經在web應用程序中實現了socket.io,但我想知道您認爲什麼是處理會話的好方法(請記住,socket io必須能夠識別調用函數並知道的用戶誰必須推送數據)。 希望我已經足夠清晰:)如何在沒有框架的情況下處理node.js中的會話

+4

重新實現現有解決方案不會使您的應用程序變得輕量級。像[Connect](http://www.senchalabs.org/connect/)這樣的框架已經非常輕便。 – lanzz

回答

1

Socket.io已經內置通過socket.getsocket.setsocket.del對於給定的插座節能服務器端會話數據的方法。它保存的數據在默認情況下是一個內存存儲,但是您可以使用redis等。請記住,當套接字斷開連接時,該數據在重新連接時不會持續,因此您需要將您的客戶端標識數據與您的套接字設置事件或在驗證過程中。

因此,您的客戶端數據可以通過localStorage,sessionStorage或普通舊香草餅乾等持久保留。

+0

好的,謝謝你,你認爲http://www.codeproject.com/Articles/382561/Session-Management-in-Nodejs會做對嗎? – Rayjax

+1

這似乎對我有點矯枉過正,但我​​不知道你的用例。如果你想保持輕量級,我鼓勵你在添加另一個模塊之前考慮滾動你自己的基本解決方案:https://github.com/learnboost/socket.io#storing-data-associated-toa-a-客戶 –

相關問題