کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

WebSocket و ارتباط بی‌درنگ

WebSockets & real-time

HTTP برای «بپرس و جواب بگیر» ساخته شده. وقتی سرور باید بدون سؤال حرف بزند — چت، اعلان، قیمت زنده — به چیز دیگری نیاز داری. این مسیر هر دو سرِ ماجرا را می‌سازد: بک‌اند و فرانت‌اند.

۱۷فصل
۲۷۳تمرین با پاسخ
≈ ۲۵ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

چرا HTTP کافی نیست

polling، long-polling، SSE و WebSocket.

در نوبت نوشتن
۲

پروتکل WebSocket

handshake، فریم و اینکه چطور از HTTP جدا می‌شود.

در نوبت نوشتن
۳

سمت مرورگر

WebSocket API، رویدادها و مدیریت خطا.

در نوبت نوشتن
۴

سمت سرور: Node

با ws و Socket.IO.

در نوبت نوشتن
۵

سمت سرور: SignalR

دات‌نت، hub و fallback خودکار.

در نوبت نوشتن
۶

سمت سرور: پایتون

FastAPI و Django Channels.

در نوبت نوشتن
۷

طراحی پروتکل پیام خودت

نوع پیام، نسخه و سازگاری.

در نوبت نوشتن
۸

احراز هویت روی سوکت

توکن، و اینکه چرا هدر Authorization اینجا نیست.

در نوبت نوشتن
۹

اتاق، کانال و انتشار

ارسال به یک نفر، یک گروه، یا همه.

در نوبت نوشتن
۱۰

مقیاس افقی

backplane با Redis، و مسئلهٔ چسبندگی اتصال.

در نوبت نوشتن
۱۱

اتصال مجدد و حالت آفلاین

صف پیام محلی و همگام‌سازی پس از بازگشت.

در نوبت نوشتن
۱۲

SSE و کِی بهتر است

یک‌طرفه، ساده‌تر، و اغلب کافی.

در نوبت نوشتن
۱۳

عیب‌یابی

ابزار مرورگر، لاگ و ردیابی پیام.

در نوبت نوشتن
۱۴

استقرار پشت Nginx

هدر Upgrade، timeout و TLS.

در نوبت نوشتن
۱۵

پروژهٔ ۱ — اعلان زنده

سرور یک پیام می‌فرستد، مرورگر نشان می‌دهد.

در نوبت نوشتنپروژهٔ ساده
۱۶

پروژهٔ ۲ — چت چنداتاقه

اتاق، احراز هویت، تاریخچه و اتصال مجدد.

در نوبت نوشتنپروژهٔ متوسط
۱۷

پروژهٔ ۳ — سامانهٔ بی‌درنگ مقیاس‌پذیر

چند نمونهٔ سرور، Redis، پایش و استقرار پشت Nginx.

در نوبت نوشتنپروژهٔ پیچیده