برنامه ای که نامتفارنی ، اینترنت و تعامل و همکاری چند کاربره را یکجا با هم ترکیب کند سزاوار لفظ “wow!” هست. بدون شک همه ما از تعاملی که سیستمهای وب امروزی مانند Facebook ، Twitter ، Gmail ، GoogleDocs و برنامههای ی دیگر به ما ارائه میدهند شگفت زده شده ایم، زیرا در این سیستمها ما به روزرسانیها را به صورت بلادرنگ دریافت میکنیم، بدون اینکه صفحه را رفرش کنیم.
برای نمونه، وفتی که ما سندی را به صورت آنلاین در GoogleDocs باز کرده و شروع به ویرایش آن کنیم و در همین حین کاربر دیگری نیز به این سند دسترسی داشته باشد، هر دو کاربر به صورت بلادرنگ تغییرات صورت گرفته بر روی سند را مشاهده میکنند. حتی در موارد روزمره مانند یک برنامه چت، متنی که دوستتان در حال نوشتن آن است به راحتی نمایش داده میشود ، و راز آن این است که هر دو سیستم از یک راه حل استفاده میکنند: تبادل اطلاعات بین سرور و کلاینت به صورت نامتقارن و بلادرنگ.
در طول این صفحات، ما یک توضیح متخصر از مشکلاتی که به هنگام توسعهی یک برنامهی چند کاربرهی بلادرنگ، برخورد میکنیم میدهیم. همچنین نگاه سریعی به عملیات HTTP و محدودیت هایش در پشتیبانی از چنین سیستم هایی میاندازیم، سپس مفهوم Push را معرفی میکنیم. سپس در مورد استانداردهایی که توسط W3C و IETF فراهم شده به مانند تکنیک هایی که ما هم اکنون برای پیاده سازی Push در HTTP استفاده میکنیم، توضیح میدهیم.
بعد SignalR را معرفی میکنیم، ویژگیهای اصلی آن و سطوح مختلف انتزاع بر روی پروتوکلهای مورد استفاده را بررسی میکنیم. ما همچنین مثالهای مختلفی را پیاده سازی میکنیم تا به فهم مفاهیم اساسی و پایه ای کمک کنند و درک درستی از پیاده سازی این فریمورک در پروژههای ما دهد.