TCP korronte bat SOCKS5 bidez irekitzea Qt-rekin
Ezarri QTcpSocket-en proxy esplizitua helmugara konektatu aurretik, Qt Network erabiliz GUI-rik gabe.
Qt Network-ek SOCKS5 zuzenean negozia dezake TCP socket baterako. Dagoen Qt aplikazio batean, konfiguratu socket-a konektatu aurretik:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket lehendik dagoen QTcpSocket bat da. Adibideko helmugak eta atakak aplikazioaren TCP zerbitzua adierazten dute. Qt lehenengo proxy-ra iristen da, eta gero hara konektatzeko eskatzen dio. Publikoki irisgarria den TCP zerbitzu baterako, bitartekari publikoa onartzen denean, SOCKS5 proxy zerrendak hautagaiak eskaintzen ditu proxy konturik gabeko adibide honetarako. Egiaztatu hautagaiak zerbitzuaren benetako ostalaria eta ataka onartzen dituela.
Socket-en ohiko seinale asinkronoak oraindik balio dute: itxaron connected() aplikazioaren datuak trukatu aurretik, eta kudeatu errorOccurred(). Eutsi socket objektua bizirik konexioa erabiltzen den bitartean. Blokeatzen duen koderako, erabili Qt-ren dokumentatutako itxaron metodoak, nahita ezarritako denbora-muga batekin.
Honek Qt Network behar du, ez widget-etan oinarritutako GUI bat. Ezarpen esplizitua socket honena da. Beste socket batzuek aplikazioaren balio lehenetsiak gorde ditzakete edo beste proxy bat hautatu. Socket hau zuzena izateko, ezarri bere proxy mota QNetworkProxy::NoProxy gisa konektatu aurretik.