Node ساکٹ کی connect ایونٹ بتاتی ہے کہ TCP پراکسی تک پہنچ گیا۔ یہ نہیں بتاتی کہ پراکسی نے منزل کی طرف رابطہ کھولا ہے۔

SOCKS5 سرور ایپلیکیشن ٹریفک سے پہلے طریقہ کار پر بات چیت، منتخب کردہ توثیق اور منزل کی درخواست کی توقع کرتا ہے۔ فوراً HTTP درخواست بھیجنے سے سرور رابطہ بند کر سکتا ہے۔ بعد کی تحریر پھر EPIPE پیدا کر سکتی ہے۔

اکیلا EPIPE handshake کی کمی کا ثبوت نہیں ہے۔ یہ ایسے رابطے پر تحریر کی اطلاع دیتا ہے جس کا دوسرا فریق اب وہ رابطہ قبول نہیں کرتا۔ دوسرے فریق نے کیوں بند کیا، یہ جاننے کے لیے پچھلے ایونٹس اور پروٹوکول جوابات پڑھیں۔

ایسا کنیکٹر استعمال کریں جو مکمل SOCKS تبادلہ نافذ کرتا ہو۔ Node کے بنیادی HTTPS کلائنٹ کے لیے، SOCKS سے واقف ایجنٹ منزل کے TLS سے پہلے وہ بات چیت کر سکتا ہے۔ اگر آپ خود تبادلہ نافذ کرتے ہیں تو پروٹوکول کے فیلڈ کی لمبائی کے مطابق ڈیٹا جمع کریں۔ یہ یقینی نہیں کہ ایک data ایونٹ میں ایک مکمل جواب ہو، اور واپس کیا گیا bound پتہ کسی ایک ہارڈ کوڈ شدہ بائٹ سٹرنگ سے مماثل ہونا ضروری نہیں۔

آپریشن ناکام ہونے سے پہلے غلطی کا انتظام درج کریں، غلطی کی رپورٹ میں رابطے کا مرحلہ رکھیں، اور منزل کا پروٹوکول بات چیت کامیاب ہونے کے بعد ہی بھیجیں۔ غلطی پکڑنا غیر معالجہ ایونٹ کو روکتا ہے؛ یہ ناجائز تبادلہ درست نہیں کرتا۔

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