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

Appliquez ceci au QUdpSocket existant de l'application avant bind ou connect. Le serveur SOCKS doit implémenter l'association UDP ; les indicateurs de capacité du proxy et une navigation TCP réussie ne testent pas cette opération. Pour un test UDP public autorisé, la liste de proxys SOCKS5 propose des adresses candidates, mais l'association UDP et l'accès à la cible de chaque candidate doivent être vérifiés séparément.

OpérationConsidération SOCKS5 UDP documentée par Qt
bindPeut expirer
Demander un port local non nulNe garantit pas que ce port sera utilisé
Inspecter le résultatLire localPort et localAddress pour des informations réelles

Le relais ajoute un chemin UDP sur lequel la perte de paquets reste possible. Les valeurs du compte proxy utilisent les propriétés user/password de l'objet.

Changer le proxy ne peut pas déplacer une socket connectée. Interprétez aussi les essais localhost avec prudence : Qt contourne les proxys réseau pour ses adresses localhost documentées dans connectToHost, bind ou listen.

Articles similaires