نمایش زنده نتایج فوتبال با SignalR در Asp.net core

به عنوان مثال، نوآوری هایی مانند جستجوی زنده Google و به روز رسانی های بلادرنگ از برنامه های رسانه های اجتماعی. فیس بوک یا توییتر انتظارات کاربران را از اپلیکیشن های سنتی به اپلیکیشن های بلادرنگ تغییر داده اند. مردم می‌خواهند همه چیز را به صورت زنده ببینند، و به‌روزرسانی‌های وب و برنامه‌های تلفن همراه در زمان واقعی اکنون عادی شده‌اند. فن آوری های زیادی وجود دارد که این ارتباط بلادرنگ بین سرور و کلاینت را تسهیل می کند و برای توسعه دهندگان دات نت، محبوب ترین انتخاب استفاده از ASP.NET Core SignalR است. با کمال تعجب، اکثر مقالات آنلاین از نمونه هایی از چت یا پیام استفاده می کنند، و من از دیدن این نمونه ها در همه جا خسته شده بودم، بنابراین تصمیم گرفتم مقاله ای با نمونه جالب تر و واقعی تر از به روز رسانی های ورزشی زنده بنویسم. در این آموزش، من یک برنامه مرکز بازی فوتبال زنده ایجاد خواهم کرد که در آن کاربران می توانند به محض گلزنی هر تیم فوتبال، نمرات به روز شده بازی فوتبال را در زمان واقعی مشاهده کنند.


برنامه بلادرنگ (RTA) چیست؟
برنامه بلادرنگ نوعی برنامه کاربردی است که عملیات حساس زمانی را انجام می دهد. برنامه باید عملکردهای خاصی را در یک بازه زمانی (معمولاً ثانیه یا میلی ثانیه) انجام دهد تا کاربران آنها را به عنوان فوری یا جاری احساس کنند. در گذشته، توسعه‌دهندگان از تکنیک‌هایی مانند HTTP Long Pooling، Server Side Events (SSE) برای پیاده‌سازی برنامه‌های بلادرنگ استفاده می‌کردند و هر یک از این تکنیک‌ها مزایا و معایب خود را داشتند. روش مدرن توسعه یک سیستم ارتباطی بلادرنگ، استفاده از پروتکلی به نام سوکت های وب است که امکان ارتباط دو طرفه بین سرور و کلاینت ها را برای ارسال و دریافت پیام فراهم می کند و به طور گسترده توسط تمام مرورگرهای مدرن پشتیبانی می شود.

در زیر برخی از نمونه های رایج برنامه های کاربردی بلادرنگ آورده شده است

برنامه های ویدئو کنفرانس
برنامه های VoIP
برنامه های بازی آنلاین
برنامه‌های چت یا پیام‌رسانی فوری
برنامه های همکاری
برنامه های رسانه های اجتماعی
برنامه های ردیابی GPS
برنامه های رای گیری
برنامه های حراج
هشدارها یا برنامه های اعلان
داشبوردها و برنامه های مانیتورینگ
برنامه های بورس تیک


بررسی اجمالی ASP.NET Core SignalR؟
ASP.NET Core SignalR یک کتابخانه منبع باز برای افزودن قابلیت های بلادرنگ در برنامه های تحت وب ASP.NET است. این به ما امکان می دهد اعلان ها و محتویات فشار سمت سرور را فوراً برای مشتری ارسال کنیم. این یک API برای تسهیل تماس‌های رویه راه دور سرور به مشتری (RPC) ارائه می‌کند و با استفاده از این API، می‌توانیم توابع جاوا اسکریپت را روی کلاینت‌ها از کد NET سمت سرور فراخوانی کنیم.


در زیر برخی از ویژگی های مشترک ASP.NET Core SignalR آورده شده است.

مدیریت اتصال را به طور خودکار کنترل می کند
پیام ها را به همه مشتریان متصل به طور همزمان ارسال می کند. به عنوان مثال، به روز رسانی مسابقات زنده
برای مشتریان یا گروه های خاصی پیام می فرستد. مثلا یک چت روم خاص یا یک کاربر خاص
ترازو برای مدیریت افزایش ترافیک
برای انجام ارتباطات بلادرنگ در طیف وسیعی از مرورگرها و دستگاه‌ها، SignalR از روش‌های انتقال زیر پشتیبانی می‌کند و به‌طور خودکار بهترین روش انتقال را که در حد توانایی‌های سرور و کلاینت است، انتخاب می‌کند.

وب سوکت ها
رویدادهای ارسال شده توسط سرور
نظرسنجی طولانی
شی WebSocket API را برای ایجاد و مدیریت یک اتصال WebSocket به یک سرور و همچنین برای ارسال و دریافت داده در اتصال فراهم می کند.

 


سورس  پروژه