Layered design in software engineering

0-ASP.NET Core SignalR: The Big Picture

 المعتاد انت كمستخدم لو احتجت تفتح Website معين فتفتح ال Browser وتكتب لينك ال Website اللى عايز تفتحه والخطوه التاليه ان الـ Browser هيبعت Request لل Server .

ال Server بيستقبل ال Request ويعملوا Process ويرجع ال Result للـ Browser اللى فى الأغلب عبارة عن صفحة Html وال Browser يعمل render لصفة للـ Html وحضرتك تشوفها.



وهذا هو  الـ  model الرئيسي لمعظم الـ  websites , ان الـ  Client وفى المثال هو الـ Browser بيبعت Request لل Server ولما الـ  Response تكون جاهزة يتم إرسالها إلى Browser.

وهنا لو الداتا الموجوده على السيرفر حصل فيها تغيير ,لازم نبعت request من جديد عشان نقدر نعرض التغيرات اللى حصلت فى الداتا وهكذا.

بس لو انا بطور موقع ومحتاج أن  أي تغير يحصل في الداتا الموجوده على السيرفر  اقدر اعرضه على الـ browser  بدون ارسال request  او المستخدم يضطر يعمل reload لل page ويبعت request جديد ال server.

ودا نقدر نشوفه فى ال FaceBook والمواقع المشابهة اللى نقدر نسميهم Real Time Apps , التعليقات على Post فى ال FaceBook بتظهر لنا كمستخدمين من غير اى reload للصفحه.

المختصر علشان نخلى Website بتاعنا RealTime  لازم ال browser يقدر يحدث محتوى الصفحه بدون ارسال Request جديد لل Server. ,و عمل reload للصفحه بالكامل.

ولحسن الحظ فى اكتر من طريقه بتخلينا نحقق اللى احنا عاوزينه

1-Polling

2-Long Polling

3-Server Sent Events

4-Web Sockets

 

تعليقات