En TCP-Stream iwwer SOCKS5 mat Qt opmaachen
Setzt den explizite Proxy vum QTcpSocket, ier Dir Iech mat der Destinatioun verbënnt, mat Qt Network ouni GUI-Fuerderung.
Qt Network kann SOCKS5 direkt fir en TCP-Socket verhandelen. An enger bestehender Qt-Applikatioun konfiguréiert Dir de Socket virum Verbannen:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket ass en existente QTcpSocket. D'Destinatioun an de Port aus dem Beispill stinn fir den TCP-Service vun der Applikatioun. Qt erreecht fir d'éischt de Proxy an freet en dann, sech mat där Destinatioun ze verbannen. Fir en ëffentlech erreechbaren TCP-Service, wou en ëffentlechen Tëschemann erlaabt ass, liwwert d'SOCKS5-Proxy-Lëscht Kandidaten fir dëst Beispill ouni Proxy-Kont. Bestätegt, datt de Kandidat den eigentlechen Host an de Port vum Service erlaabt.
Déi normal asynchron Socket-Signaler gëllen nach ëmmer: waart op connected(), ier Dir Applikatiounsdaten austauscht, a behandelt errorOccurred(). Halt d'Socket-Objekt lieweg, soulaang d'Verbindung benotzt gëtt. Fir blockéierende Code benotzt amplaz Qt seng dokumentéiert Waardmethoden mat engem bewossten Timeout.
Dëst erfuerdert Qt Network, net eng GUI op Basis vu Widgeten. Déi explizit Astellung gehéiert zu dësem Socket. Anner Sockete kënnen hir Applikatiounsdefaults behalen oder en anere Proxy wielen. Fir dëse Socket direkt ze maachen, setzt säi Proxy-Typ virum Verbannen op QNetworkProxy::NoProxy.