Nustatykite Qt SOCKS5 UDP tarpinį serverį prieš susiejant lizdą
Naudokite setProxy esamame QUdpSocket, tada nuskaitykite faktiškai susietą adresą ir prievadą, o ne manykite, kad prašytas prievadas buvo išsaugotas.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Taikykite tai programos esamam QUdpSocket prieš bind arba connect. SOCKS serveris turi įgyvendinti UDP asociaciją; tarpinio serverio galimybių vėliavėlės ir sėkmingas TCP naršymas šios operacijos netikrina. Leidžiamam viešam UDP testui SOCKS5 tarpinių serverių sąrašas siůlo adresų kandidatus, tačiau kiekvieno kandidato UDP asociacija ir prieiga prie tikslo turi būti tikrinama atskirai.
| Operacija | Qt dokumentuotas SOCKS5 UDP aspektas |
|---|---|
| bind | Gali baigtis skirtuoju laiku |
| Prašyti ne nulinio vietinio prievado | Negarantuoja, kad tas prievadas bus naudojamas |
| Patikrinti rezultatą | Skaitykite localPort ir localAddress, kad gautumėte faktinę informaciją |
Relė prideda UDP kelią, kuriame paketų praradimas vis dar įmanomas. Tarpinio serverio paskyros reikšmės naudoja objekto user/password savybes.
Pakeitus tarpinį serverį negalima perkelti prijungto lizdo. localhost bandymus taip pat aiškinkitės atsargiai: Qt apeina tinklo tarpinius serverius savo dokumentuotiems localhost adresams connectToHost, bind arba listen.