Qt Network TCP soketi üçün SOCKS5-i birbaşa razılaşdıra bilər. Mövcud Qt tətbiqində qoşulmadan əvvəl soketi konfiqurasiya edin:

QNetworkProxy proxy(
    QNetworkProxy::Socks5Proxy,
    "proxy.example.net",
    1080
);

socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);

socket mövcud QTcpSocket-dir. Nümunədəki təyinat və port tətbiqin TCP xidmətini təmsil edir. Qt əvvəlcə proxy-yə çatır, sonra ondan həmin təyinat yerinə qoşulmağı xahiş edir. İctimai vasitəçiyə icazə verilən ictimai əlçatan TCP xidməti üçün SOCKS5 proxy siyahısı bu proxy hesabı tələb etməyən nümunə üçün namizədlər təqdim edir. Namizədin xidmətin faktiki hostuna və portuna icazə verdiyini təsdiqləyin.

Adi asinxron soket siqnalları qüvvədə qalır: tətbiq məlumatlarını mübadilə etməzdən əvvəl connected() gözləyin və errorOccurred() ilə işləyin. Bağlantı istifadə olunarkən soket obyektini canlı saxlayın. Bloklayan kod üçün bunun əvəzinə Qt-nin sənədləşdirilmiş gözləmə üsullarını qəsdən təyin edilmiş fasilə ilə istifadə edin.

Bu, widgets əsaslı GUI deyil, Qt Network tələb edir. Açıq parametr bu soketə aiddir. Digər soketlər tətbiqin default parametrlərini saxlaya və ya başqa proxy seçə bilər. Bu soketi birbaşa etmək üçün qoşulmadan əvvəl onun proxy növünü QNetworkProxy::NoProxy olaraq təyin edin.

Əlaqəli məqalələr