הגדר את פרוקסי SOCKS5 UDP של Qt לפני כריכת ה-socket
השתמש ב-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 של האובייקט.
שינוי הפרוקסי אינו יכול להזיז socket מחובר. גם בדיקות localhost יש לפרש בזהירות: Qt עוקף פרוקסי רשת עבור כתובות ה-localhost המתועדות שלו ב-connectToHost, bind או listen.