Node सॉकेट की connect घटना बताती है कि TCP प्रॉक्सी तक पहुँच गया। यह नहीं बताती कि प्रॉक्सी ने गंतव्य से कनेक्शन खोला है।

SOCKS5 सर्वर एप्लिकेशन ट्रैफ़िक से पहले विधि वार्ता, कोई चुना गया प्रमाणीकरण और गंतव्य अनुरोध की अपेक्षा करता है। तुरंत HTTP अनुरोध भेजने पर सर्वर कनेक्शन बंद कर सकता है। बाद में किया गया लेखन तब EPIPE उत्पन्न कर सकता है।

अकेला EPIPE हैंडशेक छूटने का प्रमाण नहीं है। यह ऐसे कनेक्शन पर लेखन की सूचना देता है जिसका साथी अब वह संचार स्वीकार नहीं कर रहा। साथी ने क्यों बंद किया, यह जानने के लिए पहले की घटनाएँ और प्रोटोकॉल उत्तर पढ़ें।

ऐसा कनेक्टर उपयोग करें जो पूरा SOCKS विनिमय लागू करता हो। Node के मुख्य HTTPS क्लाइंट के लिए, SOCKS-सजग एजेंट गंतव्य के TLS से पहले वह वार्ता कर सकता है। यदि आप स्वयं विनिमय लागू करते हैं, तो प्रोटोकॉल के फ़ील्ड-लंबाई के अनुसार डेटा संचित करें। यह गारंटी नहीं है कि एक data घटना में एक पूरा उत्तर हो, और लौटाया गया बाउंड पता किसी एक हार्डकोडेड बाइट-स्ट्रिंग से मेल खाना ज़रूरी नहीं है।

ऑपरेशन विफल होने से पहले त्रुटि-प्रबंधन पंजीकृत करें, त्रुटि रिपोर्ट में कनेक्शन का चरण रखें, और गंतव्य प्रोटोकॉल केवल वार्ता सफल होने के बाद भेजें। त्रुटि पकड़ना अनियंत्रित घटना को रोकता है; यह अमान्य विनिमय को ठीक नहीं करता।

संबंधित लेख