Kufungua mtiririko wa TCP kupitia SOCKS5 kwa Qt
Weka proksi dhahiri ya QTcpSocket kabla ya kuunganisha na lengwa, ukitumia Qt Network bila hitaji la GUI.
Qt Network inaweza kujadili SOCKS5 moja kwa moja kwa soketi ya TCP. Katika programu ya Qt iliyopo, sanidi soketi kabla ya kuunganisha:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket ni QTcpSocket iliyopo. Lengwa na bandari katika mfano huwakilisha huduma ya TCP ya programu. Qt hufikia proksi kwanza, kisha huiomba iunganishe na lengwa hilo. Kwa huduma ya TCP inayofikiwa na umma na mpatanishi wa umma anaruhusiwa, orodha ya proksi za SOCKS5 hutoa wagombea kwa mfano huu usio na akaunti ya proksi. Thibitisha kuwa mgombea anaruhusu mwenyeji na bandari halisi ya huduma.
Ishara za kawaida za soketi zisizo za moja kwa moja bado zinatumika: subiri connected() kabla ya kubadilishana data ya programu, na shughulikia errorOccurred(). Weka kitu cha soketi hai wakati muunganisho unatumika. Kwa msimbo unaozuia, tumia badala yake mbinu za kusubiri zilizoandikwa za Qt zenye muda uliowekwa kwa makusudi.
Hii inahitaji Qt Network, si GUI inayotegemea wijeti. Mpangilio dhahiri ni wa soketi hii. Soketi nyingine zinaweza kubaki na chaguo-msingi za programu au kuchagua proksi nyingine. Ili soketi hii iende moja kwa moja, weka aina yake ya proksi kuwa QNetworkProxy::NoProxy kabla ya kuunganisha.