وجانغو-sockjs-اعصار هو في الأساس المجمع رقيقة على رأس sockjs-اعصار مما يجعل من السهل القتلى لكتابة التطبيقات القائمة على websocket على رأس مكتبة مضاهاة sockjs Websocket.
مع هذا المجمع أساسا لديك الوصول إلى كل شيء آخر تحتاج من مشروع جانغو الخاصة بك مثل النماذج الخاصة بك والإعدادات المختلفة.
لأنك تحتاج إلى تشغيل عمليتين (واحد runserver (أو WSGI) واحد لsocketserver) فهذا يعني أن اثنين من هي في الواقع عمليات الثعبان منفصلة بحيث لا يمكنك بسهولة أن تفعل أشياء مثل تسجيل الإشارات ويؤدي لهم في عملية واحدة، ويكون لهم حريق في بلد آخر.
ابدء
إنشاء مكان الطبقة ويبدو أن شيئا من هذا القبيل:
من sockjs.tornado SockJSConnection استيراد
الطبقة MyConnection (SockJSConnection):
على & nbsp؛ مواطنه on_open (النفس، الطلب):
على & nbsp؛ تمريرة
على & nbsp؛ مواطنه on_message (النفس، الرسالة):
على & nbsp؛ تمريرة
على & nbsp؛ مواطنه on_close (النفس):
على & nbsp؛ تمريرة
وبعد ذلك، تحتاج إلى وضع وكتيون هذا في الإعداد في شيء settings.py الخاصة بك مثل هذا:
SOCKJS_CLASSES = (
على & nbsp؛ "myproject.myapp.myfile.MyConnection،
)
المقبل، لبدء الملقم ببساطة تشغيل:
الثعبان manage.py socketserver [--help]
عليك لا تزال لديها الخادم جانغو الخاص بك العادية جدا في محطة منفصلة:
الثعبان manage.py runserver
الآن يجب أن تكون قادرا على كتابة جافا سكريبت العصير باستخدام sockjs العميل. يمكنك البدء عن طريق تحميل أحدث نسخة مصغر من CDN.
والتطبيق بسيط قد تبدو هذه:
جورب = SockJS جديدة ('HTTP: // المضيف المحلي: 9999 / صدى')؛
sock.onmessage = وظيفة (ه) {
على & nbsp؛ console.log (e.data)؛
}؛
sock.onclose = وظيفة () {
على & nbsp؛ console.log ('مغلق :(')؛
}؛
sock.onopen = وظيفة () {
على & nbsp؛ console.log ('فتح:>')؛
على & nbsp؛ letTheMadnessBegin ()؛
}؛
وظيفة letTheMadnessBegin () {
على & nbsp؛ // سخيفة، ولكن تحصل على هذه الفكرة
على & nbsp؛ sock.send (JSON.stringify ({
على & nbsp؛ الاسم: $ ('# اسم') النص ()،
على & nbsp؛ رسالة: $ ('إدخال') فال ()
على & nbsp؛}))؛
}
الحصول على الهوى
هناك shitload المزيد من الأشياء التي يمكنك القيام به مع هذا بطبيعة الحال. على سبيل المثال، قد ترغب في إضافة بعض شكل من أشكال التوثيق. منذ معالج on_open يتلقى طلب يمكنك استخدام ذلك لطلب request.get_cookie () والذي ترك للقارئ باعتباره ممارسة الرياضة.
وهناك مثال أكثر قليلا يتوهم المدرجة في هذه الحزمة تحت المثال التي قد تحصل على بعض الأفكار. انها تعمل بشكل كامل تطبيق الدردشة التي تعمل فقط.
تم بناء هذه الحزمة بشكل رئيسي على تخدم العمل كوفال المدهش على sockjs-اعصار التي لديها الكثير من المزيد من الأمثلة والوثائق التي قد تساعدك. على سبيل المثال، وهو يسرد إلى HAProxy التكوين العينة التي قد تحتاج مرة كنت تأخذ مشروعك يعيش لأنك لا يمكن أن تبقي تعريض ميناء 9999 على نظام إنتاج
المتطلبات:.
بيثون
جانغو
لم يتم العثور على التعليقات