سؤال

أستخدم node.js و express ، socket.io. أستخدم الجلسة في Express.

كيف يمكنني قراءة الجلسة والعمل معه في socket.io - في الجزء المتعلق بالاتصال؟

store.userid غير محدد.

Genacodicetagpre

في متجر متغير:

متجر= Genacodicetagpre

هل كانت مفيدة؟

المحلول

قد أكون مخطئًا ، لكن لا أعتقد أنه يمكنك (أو ينبغي) الاعتماد على جلسة http ليتم ملؤها عند تشغيل معالج حدث الاتصال.من المحتمل أنها تعمل على بروتوكولات مختلفة ، وتعتمد جلسة http على ملف تعريف ارتباط المتصفح (الذي قد يرسله socket.io عندما يقوم باستقصاء xhr ، ولكن ربما لن يفعل إذا كان يستخدم ملف تعريف "حقيقي"مقبس).

أوصي بأن يقوم عميلك JS بجلب ملف تعريف الارتباط (أو على الأقل معرف الجلسة) يدويًا بطريقة ما (إما عن طريق جلب ملفات تعريف الارتباط باستخدام JS أو إذا كنت تريد كتابتها على الصفحة بطريقة ما ... اختيارك).بعد ذلك ، عندما يقوم العميل بإجراء الاتصال ، يمكنه تمرير هذه القيمة ويمكنك استخدامها لربطها بالجلسة.هناك بعض المستندات حول القيام بأشياء تستمر طوال الجلسة على صفحة github ؛ابحث عن "جلسة" هنا: https://github.com/learnboost/socket.io

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top