Indy இன் பூஜ்ய UDP ASSOCIATE முகவரி டேட்டாகிராமின் இலக்கு அல்ல
வாடிக்கையாளர் இணைப்பு முகவரி, திருப்பித் தரப்படும் SOCKS ரிலே மற்றும் ஒவ்வொரு UDP பாக்கெட்டிலும் குறியாக்கப்பட்ட இலக்கைப் பிரிக்கவும்.
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 serviceIndy இல் TIdUDPClient.Connect வெளிப்படையான ப்ராக்ஸியின் OpenUDP ஐ அழைக்கிறது. TIdSocksInfo பூஜ்ய இணைப்புப் புலங்களை வழங்குகிறது. பின்னர் SendBuffer விரும்பிய சேவையை SendToUDP க்கு அனுப்புகிறது, அது பயன்பாட்டுத் தரவுக்கு முன் SOCKS UDP இலக்குத் தலைப்பை உருவாக்குகிறது.
இணைப்பு வெற்றியடைந்தும் போக்குவரத்து தோல்வியடைந்தால், திருப்பித் தரப்பட்ட ரிலே, குறியாக்கப்பட்ட இலக்கு மற்றும் UDP பதில் பாதையைச் சரிபார்க்கவும். NAT/ஃபயர்வால்கள் TCP பரிமாற்றத்தை அனுமதித்து UDP ஐத் தடுக்கலாம்.
TCP கட்டுப்பாட்டு இணைப்பைத் திறந்தே வைக்கவும்; அதை மூடுவது இணைப்பை முடிவுக்குக் கொண்டுவரும். SOCKS4/4a இல் இந்தச் செயல்பாடு இல்லை, மேலும் SOCKS5 என்ற பெயர் மட்டும் சேவையகம் UDP ஐ ஆதரிக்கிறது என்பதற்கு உத்தரவாதம் அல்ல.