WebSocket یک پروتکل ارتباطی دوطرفه است که امکان ارتباط سریع و مداوم بین کلاینت و سرور را فراهم میکند. در این مقاله، نحوه پیادهسازی وب سوکت در جنگو را بررسی میکنیم.
قبلا در مقاله ای با عنوان (کارهای Real-time در جنگو با Django Channels) به طور مفصل به انجام کارهای real-time در فریم ورک جنگو پرداخته ایم.
سرفصل های مقاله
1. نصب کتابخانههای مورد نیاز
برای استفاده از وب سوکت در جنگو، باید از Django Channels استفاده کنید. ابتدا آن را نصب کنید:
Django Channels این امکان را فراهم میکند که جنگو بتواند درخواستهای غیر از HTTP را نیز مدیریت کند، مانند WebSocket، HTTP/2 و حتی پروتکلهای دیگر، با استفاده از Channels، میتوانیم کانالهایی برای ارتباطات بلادرنگ بسازیم که برای مواردی مثل چت آنلاین، بروزرسانیهای بلادرنگ دادهها و بازیهای آنلاین مناسب است.
2. پیکربندی Channels
فایل settings.py
را باز کرده و تنظیمات زیر را اضافه کنید:
سپس یک فایل asgi.py
ایجاد یا بهروزرسانی کنید:
3. تعریف Consumer
در فایل consumers.py
، یک WebSocket Consumer تعریف کنید:
4. تنظیم URL
در فایل urls.py
، مسیر مربوط به WebSocket را تعریف کنید:
5. تست WebSocket
از ابزارهایی مانند Postman یا مرورگر برای اتصال به مسیر ws://localhost:8000/ws/chat
استفاده کنید و پیامها را ارسال و دریافت کنید.
نتیجه نهایی
این پیادهسازی ساده میتواند در مواردی مانند چت آنلاین، نوتیفیکیشنهای لحظهای و بازیهای چندنفره استفاده شود.