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 service

Indyssä 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ä.

Aiheeseen liittyvät artikkelit