Tetapkan Proksi UDP SOCKS5 Qt Sebelum Mengikat Soket
Gunakan setProxy pada QUdpSocket sedia ada, kemudian baca alamat dan port yang benar-benar terikat dan bukannya menganggap port yang diminta dikekalkan.
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
QStringLiteral("proxy.example.net"),
1080);
udpSocket->setProxy(proxy);Gunakan ini pada QUdpSocket sedia ada aplikasi sebelum bind atau connect. Pelayan SOCKS mesti melaksanakan persatuan UDP; bendera keupayaan proksi dan pelayaran TCP yang berjaya tidak menguji operasi itu. Untuk ujian UDP awam yang dibenarkan, senarai proksi SOCKS5 menawarkan calon alamat, tetapi persatuan UDP dan akses sasaran setiap calon mesti disahkan secara berasingan.
| Operasi | Pertimbangan UDP SOCKS5 yang didokumenkan oleh Qt |
|---|---|
| bind | Boleh tamat masa |
| Minta port tempatan bukan sifar | Tidak menjamin port itu akan digunakan |
| Periksa hasil | Baca localPort dan localAddress untuk maklumat sebenar |
Geganti menambah laluan UDP yang masih mungkin mengalami kehilangan paket. Nilai akaun proksi menggunakan sifat user/password objek.
Menukar proksi tidak boleh memindahkan soket yang bersambung. Tafsirkan juga ujian localhost dengan berhati-hati: Qt memintas proksi rangkaian untuk alamat localhost yang didokumenkan dalam connectToHost, bind atau listen.