WebSocket و ارتباط بیدرنگ
WebSockets & real-timeHTTP برای «بپرس و جواب بگیر» ساخته شده. وقتی سرور باید بدون سؤال حرف بزند — چت، اعلان، قیمت زنده — به چیز دیگری نیاز داری. این مسیر هر دو سرِ ماجرا را میسازد: بکاند و فرانتاند.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
چرا 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.
در نوبت نوشتنپروژهٔ پیچیده