Ṣíṣí ìṣàn TCP nípasẹ̀ SOCKS5 pẹ̀lú Qt
Ṣètò àṣojú pọ́ọ̀sì tààrà ti QTcpSocket ṣáájú kí o tó sopọ̀ mọ́ ibi-ìlọ, ní lílo Qt Network láìsí àìní GUI.
Qt Network lè ṣe ìdúnàádúrà SOCKS5 fún sọ́kẹ́ẹ̀tì TCP tààrà. Nínú ohun èlò Qt tó wà tẹ́lẹ̀, ṣètò sọ́kẹ́ẹ̀tì náà ṣáájú kí o tó sopọ̀:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket jẹ́ QTcpSocket tó wà tẹ́lẹ̀. Ibi-ìlọ àti pọ́ọ̀tì nínú àpẹẹrẹ dúró fún iṣẹ́ TCP ti ohun èlò náà. Qt kọ́kọ́ dé ọ̀dọ̀ pọ́ọ̀sì, lẹ́yìn náà ó béèrè pé kí ó sopọ̀ mọ́ ibi-ìlọ yẹn. Fún iṣẹ́ TCP tí gbogbo ènìyàn lè dé, níbi tí a ti gba alárinà gbogbogbò, àkójọ pọ́ọ̀sì SOCKS5 ń pèsè àwọn olùdíje fún àpẹẹrẹ tí kò ní àkọsílẹ̀ pọ́ọ̀sì yìí. Jẹ́rìí pé olùdíje náà gba gbàlejì àti pọ́ọ̀tì gidi ti iṣẹ́ náà.
Àwọn àmì sọ́kẹ́ẹ̀tì asynchronous déédéé ṣì kan: dúró de connected() ṣáájú kí o tó pààrọ̀ dátà ohun èlò, kí o sì ṣàkóso errorOccurred(). Jẹ́ kí ohun sọ́kẹ́ẹ̀tì náà wà ní ayé nígbà tí a ń lo ìsopọ̀ náà. Fún kóòdù tí ń dínà, lò àwọn ọ̀nà ìdúró tí Qt ṣe àkọsílẹ̀ wọn pẹ̀lú àkókò ìdúró tí a mọ̀ọ́mọ̀ ṣètò.
Èyí nílò Qt Network, kì í ṣe GUI tó dá lórí widget. Ètò tààrà yìí jẹ́ ti sọ́kẹ́ẹ̀tì yìí nìkan. Àwọn sọ́kẹ́ẹ̀tì mìíràn lè pa àwọn àkọ́kọ́ àìpé ti ohun èlò mọ́ tàbí yan pọ́ọ̀sì mìíràn. Láti jẹ́ kí sọ́kẹ́ẹ̀tì yìí lọ tààrà, ṣètò irú pọ́ọ̀sì rẹ̀ sí QNetworkProxy::NoProxy ṣáájú kí o tó sopọ̀.