Configurez le proxy SOCKS5 UDP de Qt avant de lier la socket
Utilisez setProxy sur le QUdpSocket existant, puis lisez l'adresse et le port réellement liés au lieu de supposer que le port demandé a été conservé.
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ération | Considération SOCKS5 UDP documentée par Qt |
|---|---|
| bind | Peut expirer |
| Demander un port local non nul | Ne garantit pas que ce port sera utilisé |
| Inspecter le résultat | Lire 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.