QNetworkProxy proxy(
    QNetworkProxy::Socks5Proxy,
    QStringLiteral("proxy.example.net"),
    1080);
udpSocket->setProxy(proxy);

Aplicați acest lucru pe QUdpSocket existent al aplicației înainte de bind sau connect. Serverul SOCKS trebuie să implementeze asocierea UDP; indicatorii de capabilitate ai proxy-ului și navigarea TCP reușită nu testează acea operațiune. Pentru un test UDP public permis, lista de proxy-uri SOCKS5 oferă adrese candidate, dar asocierea UDP și accesul la țintă ale fiecărui candidat trebuie verificate separat.

OperațiuneConsiderație SOCKS5 UDP documentată de Qt
bindPoate expira
Cererea unui port local diferit de zeroNu garantează că acel port va fi folosit
Inspectarea rezultatuluiCitiți localPort și localAddress pentru informații reale

Relay-ul adaugă o cale UDP pe care pierderea pachetelor rămâne posibilă. Valorile contului proxy folosesc proprietățile user/password ale obiectului.

Schimbarea proxy-ului nu poate muta un socket conectat. Interpretați cu atenție și încercările cu localhost: Qt ocolește proxy-urile de rețea pentru adresele localhost documentate în connectToHost, bind sau listen.

Articole similare