Stel Qt's SOCKS5 UDP-proxy in voordat de socket wordt gebonden
Gebruik setProxy op de bestaande QUdpSocket en lees daarna het werkelijk gebonden adres en de poort in plaats van aan te nemen dat de gevraagde poort is behouden.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Pas dit toe op de bestaande QUdpSocket van de toepassing vóór bind of connect. De SOCKS-server moet UDP-associatie implementeren; proxymogelijkheidsvlaggen en geslaagd TCP-browsen testen die bewerking niet. Voor een toegestane openbare UDP-test biedt de SOCKS5-proxylijst adreskandidaten, maar de UDP-associatie en doeltoegang van elke kandidaat moeten afzonderlijk worden geverifieerd.
| Bewerking | Door Qt gedocumenteerde SOCKS5 UDP-overweging |
|---|---|
| bind | Kan een time-out krijgen |
| Een niet-nul lokale poort aanvragen | Garandeert niet dat die poort wordt gebruikt |
| Resultaat inspecteren | Lees localPort en localAddress voor werkelijke informatie |
De relay voegt een UDP-pad toe waarop pakketverlies nog steeds mogelijk is. Proxyaccountwaarden gebruiken de user/password-eigenschappen van het object.
Het wijzigen van de proxy kan een verbonden socket niet verplaatsen. Interpreteer ook localhost-proeven voorzichtig: Qt omzeilt netwerkproxies voor zijn gedocumenteerde localhost-adressen in connectToHost, bind of listen.