وبلاگ شخصی حامد شیربندی

حامد شیربندی

توسعه دهنده نرم افزار

پیاده سازی Push Service از طریق SignalR Core

SignalR یک لایبری سورس باز ارائه شده توسط مایکروسافت است که امکان RealTime را به برنامه های وب اضافه می کند. به این صورت که در Server Side قادر هستیم پیامهایی را به کلاینت ها  به اصطلاح Push کنیم و این کلاینت میتواند یک وب سایت یا یک اپ موبایل و ... باشد.
این لایبری کاربردی و محبوب روی پروژه ی دات نت Core هم منتقل شده و میتوان در پروژه های مبتنی بر دات نت Core نیز از آن استفاده کرده و امکاناتی مثل ارسال Push Notification، پشتیبانی از بازی های چند کاربره، پیاده سازی سرویس های چت و پشتیبانی آنلاین، ارتباط با دیوایس ها در اینترنت اشیاء ، پیاده سازی داشبورد های بلادرنگ و ...را به برنامه های خود اضافه کنیم.



برای استفاده از  SignalR Core بایستی پکیج نوگت مربوط به آن را روی اپ سمت سرور نصب کرده و سپس با توجه به کلاینتی که داریم یکی از کلاینت های آن را نیز روی اپ کلاینت نصب کینم. برای مثال اگر کلاینت ما یک وب سایت است میتوانیم کلاینت جاوا اسکریپتی SignalR را به صورت زیر نصب کنیم:

PM> npm install @aspnet/signalr

اگر هم کلاینت ما یک اپ موبایل اندرویدی است میتوانیم از کلاینت اندروید آن در این آدرس و اگر یک اپ ios است میتوانیم از کلاینت ios آن در این آدرس استفاده کنیم.

شکل کلی کار هم به این شکل است که در سمت سرور باید از طریق امکانات SignalR یک Hub ایجاد کنیم که از طریق یک آدرس مثل یک API در اختیار کلاینت ها قرار میگیرد تا کاربرهای آنها همگی به آن Hub کانکت شوند. سپس تعامل با کاربرها از طریق رفتارهایی به صورت یک سری رویداد که در Hub تعریف شده صورت میگیرد.

برای آشنایی بهتر با نحوه ی پیاده سازی SignalR Core یک پروژه ی مثال روی Githab در این آدرس قرار داده ام که در آن ارسال Push Notification بین چندین کاربر یک صفحه ی وب پیاده سازی شده است.













نوشته شده توسط حامد شیربندی

اگر در مورد این نوشته سوال یا ابهامی وجود دارد میتوانید به ایمیل من ارسال کنید. البته در این مورد باید کمی صبور باشید. در آینده بخش نظرات اضافه خواهد شد.