0.0.0.0:0 Indy UDP ASSOCIATE მოთხოვნაში შეიძლება განზრახ იყოს. ეს მოთხოვნა აღწერს კლიენტის მხარეს მოსალოდნელ 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-ს მხარს უჭერს.

დაკავშირებული სტატიები