Ich arbeite an einem SPA (einzelne Seite Web-App); Die Idee war, leicht zu gehen und nicht zu viel Frameworks und Abstraktion und so zu verwenden, also habe ich den HTTP-Server für statische + dynamische Dateien erstellt und es funktioniert gut. Jetzt habe ich socket.io in der Web-App implementiert, aber ich würde gerne wissen, was Ihrer Meinung nach eine gute Möglichkeit wäre, mit Sitzungen umzugehen (wobei man bedenken muss, dass socket io den Benutzer identifizieren kann, der Funktionen aufruft und weiß wer es Daten pushen muss). hoffe ich klar genug waren :)Wie behandelt man Sitzungen in node.js ohne Frameworks
Antwort
Socket.io in Methoden aufgebaut hat serverseitige Sitzungsdaten für eine bestimmte Buchse über socket.get
, socket.set
und socket.del
zum Speichern. Wo es diese Daten speichert, ist standardmäßig ein memorystore, aber Sie können redis usw. verwenden. Denken Sie daran, dass beim Trennen der Socket-Verbindung diese Daten bei der erneuten Verbindung nicht bestehen bleiben Socket Setup-Ereignisse oder während der Auth.
So hinterlässt Ihre Client-Daten, die unter anderem über localStorage, sessionStorage oder einfache alte Vanille-Cookies persistiert werden können.
Ok danke, meinst du, dass http://www.codeproject.com/Articles/382561/Session-Management-in-Nodejs es richtig machen würde? – Rayjax
Das erscheint mir etwas übertrieben, aber ich kenne Ihren Anwendungsfall nicht. Ich würde Sie ermutigen, sich damit zu beschäftigen, Ihre eigene grundlegende Lösung zu rollen, bevor Sie ein anderes Modul hinzufügen, wenn Sie versuchen, leicht zu bleiben: https://github.com/learnboost/socket.io#storing-data-associated-to-a- Klient –
- 1. Wie behandelt man Code-Ausnahmen in node.js?
- 2. Wie behandelt man abgelaufene Routen/Sitzungen in Express?
- 3. Sitzungen werden nicht in Node.js ohne req.session.save() gespeichert
- 4. node.js Express AJAX-Sitzungen
- 5. Wie behandelt Rails/device Cookie-Sitzungen?
- 6. Wie behandelt man Multipart/Form-Daten in node.js
- 7. R: Wie man Zeiten ohne Daten behandelt?
- 8. So erstellen Sie Sitzungen in node.js
- 9. Wie behandelt man keine Antwort von Node.js Request-Modul?
- 10. Node.JS, Express und Heroku - Wie behandelt man HTTP und HTTPS?
- 11. Node.js expressjs Sitzungen stecken nicht in Firefox
- 12. Wie behandelt man Aufzählungen ohne Aufzählungsfelder in einer Datenbank?
- 13. Wie behandelt man das Nummernzeichen ('#') in Dateinamen?
- 14. Wie behandelt man Ausnahmen?
- 15. Wie behandelt man System.Data.Entity.Validation.DbEntityValidationException?
- 16. Wie man EOFException behandelt?
- 17. Wie aktiviert man Sitzungen in LUMEN 5.2
- 18. Wie verwendet man PHP-Sitzungen in xslt?
- 19. Wie verwendet man Sitzungen in Symfony?
- 20. Wie behandelt man NA in zwei Listen?
- 21. Wie behandelt man Web-Crawler in Django?
- 22. Wie behandelt man Sonderzeichen in ASP.NET HyperLink.NavigateUrl?
- 23. Wie behandelt man leere Arrays in Firebase?
- 24. Wie behandelt man Mongoose DB Verbindungsunterbrechungen
- 25. Wie werden relative Pfade in node.js/express behandelt?
- 26. Was sind Sitzungen ohne Cookies?
- 27. Wie behandelt man Nebenwirkungen in react/redux?
- 28. Java - Wie behandelt man Typlöschung in Konstruktoren?
- 29. Wie UglifyJS2 ohne Node.JS auszuführen
- 30. Wie behandelt man asynchrone Fehler in Flux?
Die Neuimplementierung vorhandener Lösungen macht Ihre Anwendung nicht leicht. Frameworks wie [Connect] (http://www.senchalabs.org/connect/) sind bereits so leicht wie sie sind. – lanzz