WebSocket و SSE در Hyperlane

داده‌های بلادرنگ (Real-time) برای اپلیکیشن‌های مدرن حیاتی هستند. شما برای چت، داشبوردهای زنده و اعلان‌ها به آن‌ها نیاز دارید.

Hyperlane یک کتابخانه سریع سرور HTTP برای Rust است. این کتابخانه از دو روش اصلی برای ارسال داده‌های بلادرنگ پشتیبانی می‌کند: WebSocket و Server-Sent Events (SSE).

WebSocket در مقابل SSE

WebSocket دوطرفه است. هم کلاینت و هم سرور می‌توانند در هر زمان پیام ارسال کنند. این پروتکل از یک اتصال TCP واحد استفاده می‌کند. از آن برای اپلیکیشن‌های چت یا بازی‌های آنلاین استفاده کنید.

SSE یک‌طرفه است. فقط سرور داده‌ها را به کلاینت ارسال می‌کند. این پروتکل از HTTP استاندارد استفاده می‌کند. از آن برای فیدهای خبری یا قیمت لحظه‌ای سهام استفاده کنید.

WebSocket در Hyperlane

Hyperlane از attribute macroها برای ساده‌سازی WebSocket استفاده می‌کند.

  • از #[is_ws_upgrade_type] برای تشخیص درخواست WebSocket استفاده کنید.
  • از #[try_get_websocket_request] برای دریافت داده‌ها استفاده کنید.

شما می‌توانید چرخه حیات اتصال را با دستورات ساده مدیریت کنید. می‌توانید فریم‌های تکی یا لیست‌هایی از فریم‌ها را ارسال کنید.