Indy UDP ASSOCIATE अनुरोधमा 0.0.0.0:0 जानाजान हुन सक्छ। त्यो अनुरोधले ग्राहक पक्षको अपेक्षित UDP अन्त्य बिन्दु वर्णन गर्छ, र RFC 1928 ले अज्ञात हुँदा शून्यलाई अनुमति दिन्छ। यसले अन्तिम सेवा छनोट गर्दैन।

जवाफको BND.ADDR/BND.PORT ले ग्राहकले इन्क्याप्सुलेटेड डेटाग्राम पठाउने रिले जनाउँछ।

TCP control: client → SOCKS5 proxy → UDP association reply
UDP payload: client → returned relay address → target service

Indy मा TIdUDPClient.Connect ले पारदर्शी प्रोक्सीको OpenUDP कल गर्छ। TIdSocksInfo ले शून्य एसोसिएसन फिल्ड दिन्छ। पछि SendBuffer ले चाहिएको सेवा SendToUDP लाई दिन्छ, जसले अनुप्रयोग डेटा अघि SOCKS UDP गन्तव्य हेडर बनाउँछ।

एसोसिएसन सफल भए पनि ट्राफिक असफल भए, फर्काइएको रिले, इन्कोड गरिएको गन्तव्य र UDP जवाफ मार्ग जाँच्नुहोस्। NAT/फायरवालले TCP आदानप्रदान स्वीकार गर्दै UDP रोक्न सक्छन्।

TCP नियन्त्रण जडान खुला राख्नुहोस्; बन्द गर्दा एसोसिएसन अन्त्य हुन्छ। SOCKS4/4a मा यो कार्य छैन, र केवल SOCKS5 नामले सर्भरले UDP समर्थन गर्छ भनी ग्यारेन्टी गर्दैन।

सम्बन्धित लेखहरू