2012-09-30 19 views
5

sto lavorando su una SPA (un'unica pagina web app); l'idea era di andare leggeri e di non usare troppe strutture e astrazioni e roba, quindi ho creato il server HTTP per i file statici + dinamici e funziona bene. Ora ho implementato socket.io nell'app web, ma mi piacerebbe sapere quale a tuo parere sarebbe un buon modo di gestire le sessioni (tenendo presente che il socket io deve essere in grado di identificare l'utente che chiama le funzioni e sapere chi deve spingere i dati). Speranza sono stato abbastanza chiaro :)Come gestire sessioni in node.js senza basamento

+4

reimplementare soluzioni esistenti non rende l'applicazione leggera. Framework come [Connect] (http://www.senchalabs.org/connect/) sono già abbastanza leggeri così come sono. – lanzz

risposta

1

Socket.io ha costruito in metodi per il salvataggio dei dati di sessione sul lato server per una data presa tramite socket.get, socket.set e socket.del. Dove salva questi dati è di default un archivio di memoria, ma puoi usare redis, ecc. Ricorda che quando il socket si disconnette, i dati non persistono per la riconnessione, quindi ti consigliamo di inviare i dati di identificazione del cliente con il tuo eventi di configurazione del socket o durante l'autenticazione.

In questo modo i dati del cliente, che possono essere persistenti tramite localStorage, sessionStorage o semplici vecchi cookie di vaniglia, tra gli altri.

+0

Ok, grazie, pensi che http://www.codeproject.com/Articles/382561/Session-Management-in-Nodejs lo farebbe bene? – Rayjax

+1

Mi sembra un po 'eccessivo, ma non conosco il tuo caso d'uso. Ti inviterei a esaminare la tua soluzione di base prima di aggiungere un altro modulo se stai cercando di rimanere leggero: https://github.com/learnboost/socket.io#storing-data-associato-to-a- cliente –

Problemi correlati