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 সমর্থন করে।