Qt Network-ը կարող է ուղղակիորեն բանակցել SOCKS5 TCP սոքեթի համար։ Գոյություն ունեցող Qt հավելվածում կարգավորեք սոքեթը նախքան միանալը՝

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

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

socket գոյություն ունեցող QTcpSocket է։ Օրինակի նպատակակետը և պորտը ներկայացնում են հավելվածի TCP ծառայությունը։ Qt-ը նախ հասնում է պրոքսիին, ապա խնդրում է այն միանալ այդ նպատակակետին։ Հանրությանը հասանելի TCP ծառայության համար, որտեղ թույլատրվում է հանրային միջնորդ, SOCKS5 պրոքսիների ցանկը առաջարկում է թեկնածուներ այս առանց պրոքսի հաշվի օրինակի համար։ Համոզվեք, որ թեկնածուն թույլ է տալիս ծառայության փաստացի հոսթը և պորտը։

Սովորական ասինխրոն սոքեթի ազդանշանները դեռ գործում են՝ սպասեք connected()-ին նախքան հավելվածի տվյալների փոխանակումը, և մշակեք errorOccurred()-ը։ Պահեք սոքեթի օբյեկտը կենդանի, քանի դեռ կապը օգտագործվում է։ Արգելափակող կոդի համար փոխարենը օգտագործեք Qt-ի փաստաթղթավորված սպասման մեթոդները՝ դիտավորությամբ սահմանված ժամկետով։

Սա պահանջում է Qt Network, ոչ թե widgets-ի վրա հիմնված GUI։ Բացահայտ կարգավորումը պատկանում է այս սոքեթին։ Այլ սոքեթները կարող են պահպանել հավելվածի լռելյայնները կամ ընտրել այլ պրոքսի։ Այս սոքեթը ուղղակի դարձնելու համար նախքան միանալը սահմանեք դրա պրոքսի տեսակը QNetworkProxy::NoProxy։

Առնչվող հոդվածներ