Long Polling: أسلوب تواصل فعّال يتجاوز Short Polling

Long Polling

في أسلوب Short Polling التقليدي، يقوم العميل Client بإرسال طلبات متكررة للتحقق مما إذا كانت المهمة قد انتهت. ورغم أن هذه الطريقة بسيطة، إلا أنها تستهلك الكثير من عرض النطاق الشبكي. للتغلب على هذه المشكلة، ظهرت تقنية Long Polling.

لكن كيف تحل Long Polling هذه المشكلة بالضبط؟ 👇


🔁 كيف تعمل Long Polling:

  1. يقوم Client بإرسال طلب.

  2. يرد Server مباشرة بمعرّف المهمة (مثل Job ID).

  3. بعد ذلك يقوم Client بإرسال طلب للتحقق من حالة المهمة.

  4. وهنا الخدعة: لا يرد Server إلا عندما تكون النتيجة جاهزة.


هذا الأسلوب يقلل من استهلاك الشبكة، لأن العميل لا يرسل طلبات متواصلة مثل Short Polling.

لكن هناك مقايضة: Server ما زال يستهلك موارد لأنه يحتفظ بالاتصال مفتوحًا ويراقب لحظة جهوزية النتيجة.

يمكنك التفكير في Long Polling على أنه نقل منطق الاستطلاع من العميل إلى السيرفر. عمليًا، كأن السيرفر يقوم بالاستطلاع داخليًا، أو يستخدم شيئًا مشابهًا لنمط Observer ليعرف متى تنتهي المهمة ويرسل الرد فورًا.

ميزة إضافية هي المرونة — يمكن للعميل أن ينقطع عن الاتصال ويعود لاحقًا للتحقق من حالة المهمة، تمامًا كما في Short Polling ولكن مع تقليل الضغط على الشبكة.