Aseta Qt:n SOCKS5 UDP -välityspalvelin ennen socketin sitomista
Käytä setProxyä olemassa olevaan QUdpSocketiin ja lue sitten todellinen sidottu osoite ja portti sen sijaan, että olettaisit pyydetyn portin säilyneen.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Käytä tätä sovelluksen olemassa olevaan QUdpSocket-objektiin ennen bind- tai connect-kutsua. SOCKS-palvelimen on toteutettava UDP-assosiaatio; välityspalvelimen ominaisuusliput ja onnistunut TCP-selailu eivät testaa tätä toimintoa. Sallittua julkista UDP-testiä varten SOCKS5-välityspalvelinluettelo tarjoaa osoite-ehdokkaita, mutta jokaisen ehdokkaan UDP-assosiaatio ja kohdeaccessi on varmistettava erikseen.
| Toiminto | Qt:n dokumentoima SOCKS5 UDP -huomio |
|---|---|
| bind | Voi aikakatkaista |
| Pyydä nollasta poikkeavaa paikallista porttia | Ei takaa, että tätä porttia käytetään |
| Tarkista tulos | Lue localPort ja localAddress todellisia tietoja varten |
Välitys lisää UDP-polun, jolla pakettihäviö on edelleen mahdollista. Välityspalvelintilin arvot käyttävät objektin user/password-ominaisuuksia.
Välityspalvelimen vaihtaminen ei voi siirtää yhdistettyä socketia. Tulkitse myös localhost-kokeet huolellisesti: Qt ohittaa verkon välityspalvelimet dokumentoiduille localhost-osoitteilleen kohdissa connectToHost, bind tai listen.