اضبط وكيل SOCKS5 UDP في Qt قبل ربط المقبس
استخدم setProxy على QUdpSocket الموجود، ثم اقرأ العنوان والمنفذ الفعليين اللذين تم الربط بهما بدل افتراض بقاء المنفذ المطلوب.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);طبّق ذلك على QUdpSocket الموجود في التطبيق قبل bind أو connect. يجب أن ينفّذ خادم SOCKS اقتران UDP؛ ولا تختبر أعلام قدرات الوكيل ولا التصفح الناجح عبر TCP تلك العملية. لاختبار UDP عام مسموح به، تقدّم قائمة وكلاء SOCKS5 مرشّحين للعناوين، لكن يجب التحقق من اقتران UDP ووصول الهدف لكل مرشّح على حدة.
| العملية | اعتبار SOCKS5 UDP كما توثقه Qt |
|---|---|
| bind | قد تنتهي مهلته |
| طلب منفذ محلي غير صفري | لا يضمن استخدام ذلك المنفذ |
| فحص النتيجة | اقرأ localPort و localAddress للحصول على معلومات فعلية |
يضيف المرحّل مسار UDP يظل فقدان الحزم فيه ممكنًا. تستخدم قيم حساب الوكيل خاصيتي user/password للكائن.
لا يمكن لتغيير الوكيل نقل مقبس متصل. فسّر تجارب localhost بحذر أيضًا: تتجاوز Qt وكلاء الشبكة لعناوين localhost الموثقة لديها في connectToHost أو bind أو listen.