तुमची Java HTTP विनंती SOCKS मधून कार्य करते, तरीही UDP वैशिष्ट्य अजूनही रहदारी थेट पाठवते किंवा अपयशी ठरते. JVM चे SOCKS गुणधर्म सेट करून DatagramSocket ला SOCKS5 UDP अंमलबजावणी मिळत नाही.

DatagramSocket API नेटवर्क एंडपॉइंट्सना पत्ता दिलेले डेटाग्राम पाठवते आणि प्राप्त करते. त्याची connect() पद्धत त्या सॉकेटसाठी समकक्ष निवडते. ती समकक्षासोबत SOCKS वाटाघाटी करत नाही.

SOCKS5 UDP मार्गाला अतिरिक्त काम लागते

SOCKS5 एक UDP सहयोग परिभाषित करते जो TCP नियंत्रण कनेक्शनवर स्थापित होतो. त्यानंतर क्लायंट प्रॉक्सीने दिलेल्या रिले पत्त्यासोबत एन्कॅप्स्युलेटेड डेटाग्रामची देवाणघेवाण करतो. प्रत्येक एन्कॅप्स्युलेटेड संदेश त्याचे गंतव्य सांगतो. क्लायंट अंमलबजावणीला ती फ्रेमिंग आणि नियंत्रण कनेक्शनचे आयुष्य हाताळावे लागते.

सामान्य UDP सॉकेट प्रॉक्सीच्या TCP ऐकण्याच्या पोर्टकडे निर्देशित केल्यास ते टप्पे वगळले जातात. तुमच्या अॅप्लिकेशनचे कच्चे डेटाग्राम त्या पत्त्यावर पाठवणे हा सहयोगाचा पर्याय नाही.

अशी लायब्ररी किंवा अॅप्लिकेशन वैशिष्ट्य निवडा जे SOCKS5 UDP रिलेला स्पष्टपणे समर्थन देते आणि सर्व्हरही त्याला समर्थन देतो याची खात्री करा. SOCKS समर्थनाची जाहिरात करणारी लायब्ररी केवळ TCP CONNECT अंमलात आणू शकते. प्रोटोकॉल तपशील या आदेशांमध्ये फरक करतो.

UDP रिलेलाही वापरण्यायोग्य मार्ग हवा

प्रॉक्सीशी यशस्वी TCP कनेक्शन केवळ नियंत्रण मार्ग स्थापित करते. फायरवॉल किंवा NAT वर्तन रिलेकडे पाठवलेल्या डेटाग्राममध्ये अजूनही अडथळा आणू शकते. अॅप्लिकेशनचे गंतव्य ऑफलाइन आहे असा निष्कर्ष काढण्यापूर्वी परत मिळालेला रिले एंडपॉइंट आणि कोणतीही रिले त्रुटी गोळा करा.

शेवटी, SOCKS वाहतूक समर्थन UDP मध्ये वितरणाची हमी जोडत नाही. मार्ग बदलल्यानंतरही तुमच्या अॅप्लिकेशनच्या स्वतःच्या कालमर्यादा, हानी हाताळणी आणि संदेश-आकार मर्यादा लागू राहतात.

संबंधित लेख