Nastavte SOCKS5 UDP proxy v Qt pred zviazaním socketu
Použite setProxy na existujúcom QUdpSocket a potom prečítajte skutočne zviazanú adresu a port namiesto toho, aby ste predpokladali, že požadovaný port zostal zachovaný.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Použite to na existujúci QUdpSocket aplikácie pred bind alebo connect. Server SOCKS musí implementovať UDP asociáciu; príznaky schopností proxy a úspešné prehliadanie cez TCP tuto operáciu netestujú. Pre povolený verejný UDP test ponúka zoznam SOCKS5 proxy kandidátske adresy, ale UDP asociáciu a prístup k cieľu každého kandidáta treba overiť samostatne.
| Operácia | Hľadisko SOCKS5 UDP dokumentované Qt |
|---|---|
| bind | Môže vypršať časový limit |
| Požiadavka na nenulový miestny port | Nezaručuje, že tento port bude použitý |
| Kontrola výsledku | Pre skutočné informácie čítajte localPort a localAddress |
Relé pridáva UDP cestu, na ktorej strata paketov zostáva možná. Hodnoty účtu proxy používajú vlastnosti user/password objektu.
Zmena proxy nemôže presunúť pripojený socket. Opatrne vykladajte aj testy s localhost: Qt obchádza sieťové proxy pri svojich dokumentovaných adresách localhost v connectToHost, bind alebo listen.