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

Wenden Sie dies auf den vorhandenen QUdpSocket der Anwendung vor bind oder connect an. Der SOCKS-Server muss UDP-Association implementieren; Proxy-Fähigkeitsflags und erfolgreiches TCP-Browsen prüfen diesen Vorgang nicht. Für einen erlaubten öffentlichen UDP-Test bietet die SOCKS5-Proxy-Liste Adresskandidaten, doch UDP-Association und Zielzugriff jedes Kandidaten müssen getrennt geprüft werden.

VorgangVon Qt dokumentierte SOCKS5-UDP-Erwägung
bindKann in einen Timeout laufen
Nicht-nulligen lokalen Port anfordernGarantiert nicht, dass dieser Port verwendet wird
Ergebnis prüfenlocalPort und localAddress für tatsächliche Informationen lesen

Das Relay fügt einen UDP-Pfad hinzu, auf dem Paketverlust weiterhin möglich bleibt. Proxy-Kontowerte verwenden die user/password-Eigenschaften des Objekts.

Das Ändern des Proxys kann einen verbundenen Socket nicht verschieben. Deuten Sie auch localhost-Tests sorgfältig: Qt umgeht Netzwerkproxys für seine dokumentierten localhost-Adressen in connectToHost, bind oder listen.

Ähnliche Artikel