Að opna TCP-strauma í gegnum SOCKS5 með Qt
Stilltu skýran proxy QTcpSocket áður en tengt er við áfangastaðinn, með Qt Network án GUI-kröfu.
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.