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

সম্পর্কিত নিবন্ধ