2012-09-30 29 views
5

Estoy trabajando en una aplicación web SPA (página única); la idea era ir liviano y no usar demasiados marcos y abstracción, así que creé el servidor HTTP para archivos estáticos + dinámicos y funciona bien. Ahora he implementado socket.io en la aplicación web, pero me gustaría saber cuál sería en su opinión una buena forma de manejar sesiones (teniendo en cuenta que el socket io debe poder identificar al usuario que llama a las funciones y sabe a quién debe enviar datos). Espero haber sido lo suficientemente claro :)Cómo administrar sesiones en node.js sin marcos

+4

La reimplementación de soluciones existentes no hace que su aplicación sea liviana. Los marcos como [Conectar] (http://www.senchalabs.org/connect/) ya son bastante livianos. – lanzz

Respuesta

1

Socket.io ha construido en los métodos para guardar datos de sesión de servidor para una toma dada a través de socket.get, socket.set y socket.del. Donde guarda estos datos es por defecto un almacén de memoria, pero puede usar redis, etc. Tenga en cuenta que cuando el socket se desconecta, esos datos no persisten al reconectarse, por lo que querrá enviar los datos de identificación del cliente con su eventos de configuración de socket o durante la autenticación.

De modo que deja los datos de su cliente, que pueden persistir a través de localStorage, sessionStorage, o simples cookies normales, entre otros.

+0

Ok, gracias, ¿cree que http://www.codeproject.com/Articles/382561/Session-Management-in-Nodejs lo haría bien? – Rayjax

+1

Eso me parece un poco exagerado, pero no conozco su caso de uso. Le recomiendo que considere la posibilidad de rodar su propia solución básica antes de agregar otro módulo si está tratando de mantenerse liviano: https://github.com/learnboost/socket.io#storing-data-associated-to-a- cliente –

Cuestiones relacionadas