Qt Network suudab TCP-sokli jaoks SOCKS5 otse läbi rääkida. Olemasolevas Qt-rakenduses seadistage socket enne ühendamist:

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

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

socket on olemasolev QTcpSocket. Näite sihtkoht ja port tähistavad rakenduse TCP-teenust. Qt jõuab esmalt puhverserverini ja palub seejärel sellel selle sihtkohaga ühenduda. Avalikult ligipääsetava TCP-teenuse puhul, kus on lubatud avalik vahendaja, pakub SOCKS5 puhverserverite loend kandidaate selle ilma puhverserveri kontota näite jaoks. Kontrollige, et kandidaat lubab teenuse tegelikku hosti ja porti.

Tavalised asünkroonsed socket-signaalid kehtivad endiselt: enne rakenduse andmete vahetamist oodake connected() ja käsitlege errorOccurred(). Hoidke socket-objekti elus, kuni ühendust kasutatakse. Blokeeriva koodi jaoks kasutage selle asemel Qt dokumenteeritud ootamismeetodeid koos teadliku ajalõpuga.

See nõuab Qt Networki, mitte widgetitel põhinevat GUI-d. Selgesõnaline säte kuulub sellele socketile. Teised socketid võivad säilitada oma rakenduse vaikeväärtused või valida teise puhverserveri. Selle socketi otseseks muutmiseks määrake enne ühendamist selle puhverserveri tüübiks QNetworkProxy::NoProxy.

Seotud artiklid