Socket-ті байланыстыру алдында Qt-тың SOCKS5 UDP проксиін орнатыңыз
Бар QUdpSocket нысанында setProxy қолданып, содан кейін сұралған порт сақталды деп болжаудың орнына нақты байланысқан мекенжай мен портты оқыңыз.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Мұны қолданбаның бар QUdpSocket нысанына bind немесе connect алдында қолдаңыз. SOCKS сервері UDP ассоциациясын іске асыруы керек; прокси мүмкіндік жалаушалары мен сәтті TCP шолу ол операцияны тексермейді. Рұқсат етілген жария UDP сынағы үшін SOCKS5 прокси тізімі мекенжай үміткерлерін ұсынады, бірақ әр үміткердің UDP ассоциациясы мен мақсатқа қолжетімділігі бөлек тексерілуі керек.
| Операция | Qt құжаттаған SOCKS5 UDP қарастырылымы |
|---|---|
| bind | Уақыт бітуі мүмкін |
| Нөлдік емес жергілікті портты сұрау | Бұл порттың пайдаланылатынына кепілдік бермейді |
| Нәтижені тексеру | Нақты ақпарат үшін localPort және localAddress оқыңыз |
Ретранслятор пакет жоғалуы әлі де мүмкін UDP жолын қосады. Прокси тіркелгі мәндері нысанның user/password қасиеттерін пайдаланады.
Проксиді өзгерту қосылған socket-ті жылжыта алмайды. localhost сынақтарын да мұқият түсіндіріңіз: Qt өзінің құжатталған localhost мекенжайлары үшін connectToHost, bind немесе listen ішінде желілік проксилерді айналып өтеді.