SOCKS ہینڈ شیک کامیاب رہا۔ اب ریلے کلائنٹ سے پڑھتا ہے، منزل کی طرف لکھتا ہے، مکمل جواب کا انتظار کرتا ہے اور پھر ہی دوبارہ کلائنٹ سے پڑھتا ہے۔ یہ ترتیب ایک مکمل درست ایپلیکیشن کو ڈیڈلاک کر سکتی ہے۔

TCP سرنگ قائم ہونے کے بعد، SOCKS اس کے اندر کے پیغامات کی تعریف نہیں کرتا۔ منزل پہلے بھیج سکتی ہے۔ دونوں فریق آزادانہ بھیج سکتے ہیں۔ ایک فریق مختصر ریکارڈ بھیج کر پھر دوسرے کے جواب کا انتظار کر سکتا ہے۔

اندازہ لگائے گئے لین دین نہیں، بائٹس بھیجیں

وصولی کی کال اپنے جھنڈوں اور ساکٹ کی حالت کے مطابق دستیاب بائٹس واپس کرتی ہے۔ یہ عام ریلے کو نہیں بتاتی کہ ایپلیکیشن کا جواب مکمل ہے۔ کسی بھی بڑے بفر کے بھرنے کا انتظار ساتھی کو جاری رکھنے کے لیے درکار چھوٹے پیغام کو بھیجنے سے روک سکتا ہے۔

دونوں سمتوں کی خدمت کے لیے ایپلیکیشن کا موجودہ ہم وقتی ماڈل استعمال کریں: ایونٹ لوپ، غیر ہم وقت I/O یا کوئی اور دانستہ منتخب ڈیزائن۔ اہم رویہ یہ ہے کہ ایک سمت میں پیش رفت کے لیے دوسری سمت میں گھڑی ہوئی پیغام کی حد درکار نہیں۔

دو محدود منتظر بفر رکھیں

کلائنٹ سے پڑھا گیا ڈیٹا اب بھی منزل تک پہنچنے کا انتظار کر رہا ہو سکتا ہے، جبکہ منزل سے آنے والا ڈیٹا کلائنٹ تک پہنچنے کا انتظار کرتا ہے۔ ان منتظر بائٹس کو الگ الگ ٹریک کریں۔

بھیجنا درخواست سے کم بائٹس لکھ سکتا ہے۔ نہ لکھا گیا حصہ رکھیں؛ اسے ضائع نہ کریں یا پورا بفر دوبارہ نہ چلائیں۔ عارضی طور پر ناقابلِ تحریر ساکٹ درست تیاری کے ایونٹ کا انتظار کرنے کی وجہ ہے، مسلسل گھومنے کی نہیں۔

بفرز کو محدود کریں۔ اگر منزل سست ہے تو کلائنٹ کا غیر محدود ڈیٹا پڑھتے رہنا صرف قطار کو ریلے کی یادداشت میں منتقل کرتا ہے۔ بیک پریشر کا مطلب ہے متعلقہ منتظر بفر بھرنے پر پڑھائی روکنا اور لکھائی جگہ بنانے پر دوبارہ شروع کرنا۔

ایک سمت میں اختتام کے لیے پالیسی درکار ہے

TCP بھیجنے کی ایک سمت بند کر سکتا ہے جبکہ دوسری سمت میں اب بھی مفید ڈیٹا موجود ہو۔ فیصلہ کریں کہ بفر شدہ بائٹس ختم ہونے کے بعد اس حالت کو کیسے پھیلایا جائے، اور منظم بندش کو خرابی یا آخری وقت سے الگ رکھیں۔

ان میں سے کوئی چیز ریلے سے ایپلیکیشن کے پے لوڈ کو ڈکرپٹ یا پارس کرنے کا تقاضا نہیں کرتی۔ اسے درست اسٹریم ہینڈلنگ درکار ہے۔ صرف بفر کا سائز بڑھانا غلط فریق کا انتظار کرنے والے یا ہر پڑھائی کو ایک مکمل درخواست سمجھنے والے ریلے کو ٹھیک نہیں کر سکتا۔

متعلقہ مضامین