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

Примените это к существующему QUdpSocket приложения до bind или connect. Сервер SOCKS должен реализовывать UDP-ассоциацию; флаги возможностей прокси и успешный просмотр через TCP не проверяют эту операцию. Для разрешённого публичного UDP-теста список SOCKS5-прокси предлагает адреса-кандидаты, но UDP-ассоциацию и доступ к цели каждого кандидата нужно проверять отдельно.

ОперацияОсобенность SOCKS5 UDP, документированная Qt
bindМожет завершиться по тайм-ауту
Запрос ненулевого локального портаНе гарантирует, что этот порт будет использован
Проверка результатаЧитайте localPort и localAddress для фактической информации

Ретранслятор добавляет путь UDP, на котором потеря пакетов по-прежнему возможна. Значения учётной записи прокси используют свойства user/password объекта.

Смена прокси не может переместить подключённый сокет. Осторожно трактуйте и локальные испытания: Qt обходит сетевые прокси для своих документированных адресов localhost в connectToHost, bind или listen.

Похожие статьи