2012-09-30 23 views
5

Tôi đang làm việc trên SPA (ứng dụng web một trang); ý tưởng là đi nhẹ và không sử dụng quá nhiều khung công tác và trừu tượng và công cụ, vì vậy tôi đã tạo máy chủ HTTP cho các tệp tĩnh + động và hoạt động tốt. Bây giờ tôi đã thực hiện socket.io trong ứng dụng web, nhưng tôi muốn biết ý kiến ​​của bạn là cách tốt để xử lý các phiên (lưu ý rằng socket io phải có khả năng xác định người dùng gọi hàm và biết ai phải đẩy dữ liệu). Hope tôi đã đủ rõ ràng :)Cách xử lý các phiên trong node.js không có khung công tác

+4

Thực hiện lại các giải pháp hiện có không làm cho ứng dụng của bạn trở nên nhẹ nhàng. Các khung như [Connect] (http://www.senchalabs.org/connect/) đã khá nhẹ như chúng. – lanzz

Trả lời

1

Socket.io đã xây dựng trong các phương pháp để lưu dữ liệu phiên phía máy chủ cho một ổ cắm cho qua socket.get, socket.setsocket.del. Nơi lưu dữ liệu này theo mặc định là một kho lưu trữ, nhưng bạn có thể sử dụng redis, v.v. Hãy nhớ rằng khi ổ cắm ngắt kết nối, dữ liệu đó không tồn tại khi kết nối lại, vì vậy bạn sẽ muốn gửi dữ liệu nhận dạng khách hàng cùng với sự kiện cài đặt ổ cắm hoặc trong quá trình xác thực.

Vì vậy, để lại dữ liệu khách hàng của bạn, dữ liệu này có thể được lưu giữ thông qua cookie cục bộ, sessionStorage hoặc vani cũ thuần túy, trong số những thứ khác.

+0

Ok cảm ơn bạn, bạn có nghĩ rằng http://www.codeproject.com/Articles/382561/Session-Management-in-Nodejs sẽ làm điều đó đúng không? – Rayjax

+1

Điều đó có vẻ hơi quá mức với tôi, nhưng tôi không biết trường hợp sử dụng của bạn. Tôi sẽ khuyến khích bạn xem xét giải pháp cơ bản của riêng bạn trước khi thêm vào một mô-đun khác nếu bạn đang cố gắng duy trì trọng lượng nhẹ: https://github.com/learnboost/socket.io#storing-data-associated-to-a- khách hàng –

Các vấn đề liên quan