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

Қатысты мақалалар