Iestatiet Qt SOCKS5 UDP starpniekserveri pirms ligzdas piesaistes
Izmantojiet setProxy esošajā QUdpSocket, pēc tam nolasiet faktiski piesaistīto adresi un portu, nevis pieņemiet, ka pieprasītais ports tika saglabāts.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Piemērojiet to lietojumprogrammas esošajam QUdpSocket pirms bind vai connect. SOCKS serverim ir jāīsteno UDP asociācija; starpniekservera iespēju karodziņi un veiksmīga TCP pārlūkošana šo darbību nepārbauda. Atļautam publiskam UDP testam SOCKS5 starpniekserveru saraksts piedāvā adrešu kandidātus, taču katra kandidāta UDP asociācija un piekļuve mērķim ir jāpārbauda atsevišķi.
| Darbība | Qt dokumentētais SOCKS5 UDP apsvērums |
|---|---|
| bind | Var beigties ar taimautu |
| Pieprasīt ne-nulles vietējo portu | Negarantē, ka šis ports tiks izmantots |
| Pārbaudīt rezultātu | Lasiet localPort un localAddress, lai iegūtu faktisku informāciju |
Retranslators pievieno UDP ceļu, kurā pakešu zudums joprojām ir iespējams. Starpniekservera konta vērtības izmanto objekta user/password rekvizītus.
Starpniekservera maiņa nevar pārvietot savienotu ligzdu. Arī localhost mēģinājumus interpretējiet uzmanīgi: Qt apiet tīkla starpniekserverus savām dokumentētajām localhost adresēm connectToHost, bind vai listen.