𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗔𝗻𝗱 𝗦𝗦𝗘
آپ کو ایک سرور سے کلائنٹ تک ڈیٹا بھیجنے کی ضرورت ہے۔ اس کے لیے یہاں تین طریقے دیے گئے ہیں۔
Short Polling
ایک ریسٹورنٹ میں موجود گاہک کے بارے میں سوچیں۔ گاہک ہر 5 سیکنڈ بعد ویٹر سے پوچھتا ہے کہ کیا کھانا تیار ہے؟
گاہک باقاعدہ وقفوں کے بعد یہی سوال دہراتا ہے۔
مسائل:
- بہت زیادہ ریکویسٹس (requests) آپ کے سرور پر آتی ہیں۔
- اپ ڈیٹس میں تاخیر ہوتی ہے۔ اگر کھانا سوال پوچھنے کے 1 سیکنڈ بعد تیار ہو جائے، تو گاہک دوبارہ پوچھنے کے لیے مزید 4 سیکنڈ انتظار کرتا ہے۔
- یہ نیٹ ورک کے وسائل (resources) ضائع کرتا ہے۔
Long Polling
گاہک ویٹر سے کہتا ہے: "جب میرا کھانا تیار ہو جائے تو مجھے بتا دینا۔"
ویٹر میز پر ہی رہتا ہے اور انتظار کرتا ہے۔ اگر شیف کھانا تیار کر لیتا ہے، تو ویٹر فوراً گاہک کو بتا دیتا ہے۔ اگر کھانا تیار ہونے میں زیادہ وقت لگتا ہے، تو ویٹر گاہک کو بتا دیتا ہے کہ یہ ابھی تیار نہیں ہے۔
مسائل:
- کنکشنز (connections) طویل عرصے تک کھلے رہتے ہیں۔
- آپ کو کنکشن ٹائم آؤٹ (connection timeouts) کا سامنا کرنا پڑ سکتا ہے۔
- ایک ساتھ بہت سے گاہکوں کو سنبھالنا مشکل ہوتا ہے۔
Server Sent Events (SSE)
لائیو اسٹاک کی قیمتوں کے بارے میں سوچیں۔ کلائنٹ ایک بار کنکشن کھولتا ہے۔ سرور اس کنکشن کو کھلا رکھتا ہے۔ جب بھی قیمت بدلتی ہے، سرور کلائنٹ کو اپ ڈیٹ بھیج دیتا ہے۔
اہم حقائق:
- یہ ون وے (one-way) کمیونیکیشن ہے۔
- ڈیٹا صرف سرور سے کلائنٹ کی طرف بہتا ہے۔
- کلائنٹ اس کنکشن کے ذریعے واپس پیغامات نہیں بھیجتا۔
ماخذ: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5