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-ні қолдайтынына кепілдік бермейді.