Qt Network getur samið um SOCKS5 beint fyrir TCP-socket. Í fyrirliggjandi Qt-forriti er socketið stillt áður en tengt er:

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

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

socket er fyrirliggjandi QTcpSocket. Áfangastaður og port í dæminu standa fyrir TCP-þjónustu forritsins. Qt nær fyrst í proxyið og biður það síðan að tengjast þeim áfangastað. Fyrir opinberlega aðgengilega TCP-þjónustu þar sem almennur milliliður er leyfður býður SOCKS5-proxylistinn upp á frambjóðendur fyrir þetta dæmi án proxyreiknings. Staðfestu að frambjóðandinn leyfi raunverulegt hýsil og port þjónustunnar.

Venjuleg ósamstillt socket-merki gilda enn: bíðaðu eftir connected() áður en forritsgögnum er skipt, og meðhöndlaðu errorOccurred(). Haltu socket-hlutnum lifandi meðan tengingin er í notkun. Fyrir blokkkóða skaltu nota skjalfestar biðaðferðir Qt með viljandi tímanum.

Þetta krefst Qt Network, ekki GUI byggt á widgetum. Skýra stillingin tilheyrir þessu socketi. Aðrar socket-tengingar geta haldið sjálfgefnum stillingum forritsins eða valið annað proxy. Til að gera þetta socket beint skal stilla proxygerð þess á QNetworkProxy::NoProxy áður en tengt er.

Tengdir greinar