Socketni ulashdan oldin Qt SOCKS5 UDP proksi-serverini sozlang
Mavjud QUdpSocket ustida setProxy dan foydalaning, so'ngra so'ralgan port saqlanib qoldi deb taxmin qilish o'rniga haqiqatda ulangan manzil va portni o'qing.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Buni ilovaning mavjud QUdpSocket obyektiga bind yoki connect dan oldin qo'llang. SOCKS serveri UDP assotsiatsiyasini amalga oshirishi kerak; proksi imkoniyat bayroqlari va muvaffaqiyatli TCP ko'rish bu amaliyotni sinamaydi. Ruxsat etilgan ommaviy UDP sinovi uchun SOCKS5 proksi ro'yxati manzil nomzodlarini taklif etadi, ammo har bir nomzodning UDP assotsiatsiyasi va maqsadga kirishi alohida tekshirilishi kerak.
| Amaliyot | Qt hujjatlashtirgan SOCKS5 UDP mulohazasi |
|---|---|
| bind | Vaqt tugashi mumkin |
| Nolga teng bo'lmagan mahalliy portni so'rash | Bu port ishlatilishiga kafolat bermaydi |
| Natijani tekshirish | Haqiqiy ma'lumot uchun localPort va localAddress ni o'qing |
Relay paket yo'qolishi hali ham mumkin bo'lgan UDP yo'lini qo'shadi. Proksi hisobi qiymatlari obyektning user/password xossalaridan foydalanadi.
Proksini o'zgartirish ulangan socketni ko'chira olmaydi. localhost sinovlarini ham ehtiyotkorlik bilan talqin qiling: Qt o'zining hujjatlashtirilgan localhost manzillari uchun connectToHost, bind yoki listen ichida tarmoq proksilarini chetlab o'tadi.