Indyn nolla-UDP ASSOCIATE -osoite ei ole datagrammin kohde
Erottele asiakkaan liitososoite, palautettu SOCKS-välityspalvelin ja jokaiseen UDP-pakettiin koodattu kohde.
0.0.0.0:0 Indy UDP ASSOCIATE -pyynnössä voi olla tarkoituksellinen. Pyyntö kuvaa odotetun asiakaspuolen UDP-päätepisteen, ja RFC 1928 sallii nollat, kun se ei ole tiedossa. Se ei valitse lopullista palvelua.
Vastauksen BND.ADDR/BND.PORT osoittaa välityspalvelimen, jolle asiakas lähettää kapseloidut datagrammit.
TCP control: client → SOCKS5 proxy → UDP association reply
UDP payload: client → returned relay address → target serviceIndyssä TIdUDPClient.Connect kutsuu läpinäkyvän välityspalvelimen OpenUDP-metodia. TIdSocksInfo toimittaa nollaliitoksen kentät. Myöhemmin SendBuffer välittää halutun palvelun SendToUDP-metodille, joka rakentaa SOCKS UDP -kohdeotsikon ennen sovellusdataa.
Jos liitos onnistuu mutta liikenne epäonnistuu, tarkista palautettu välityspalvelin, koodattu kohde ja UDP-vastauspolku. NAT/palomuurit voivat sallia TCP-vaihdon ja silti estää UDP:n.
Pidä TCP-ohjausyhteys auki; sen sulkeminen lopettaa liitoksen. SOCKS4/4a:lta puuttuu tämä toiminto, eikä pelkkä SOCKS5-nimi takaa, että palvelin tukee UDP:tä.