Sruth TCP a oscailt trí SOCKS5 le Qt
Socraigh seachfhreastalaí follasach QTcpSocket sula ndéanfaidh tú ceangal leis an gceann scríbe, ag baint úsáide as Qt Network gan riachtanas GUI.
Is féidir le Qt Network SOCKS5 a idirbheartú go díreach do shocóg TCP. I bhfeidhmchlár Qt atá ann cheana, cumraigh an tsocóg sula ndéantar ceangal:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket is QTcpSocket atá ann cheana. Seasann ceann scríbe agus port an sampla do sheirbhís TCP an fheidhmchláir. Sroicheann Qt an seachfhreastalaí ar dtús, ansin iarrann sé air ceangal leis an gceann scríbe sin. I gcás seirbhíse TCP atá inrochtana go poiblí ina bhfuil idirghabhálaí poiblí ceadaithe, soláthraíonn an liosta seachfhreastalaí SOCKS5 iarrthóirí don sampla seo gan chuntas seachfhreastalaí. Deimhnigh go gceadaíonn an t-iarrthóir óstach agus port iarbhír na seirbhíse.
Tá feidhm fós ag na gnáthchomharthaí asincrónacha socóige: fan ar connected() sula ndéantar sonraí feidhmchláir a mhalartú, agus láimhseáil errorOccurred(). Coinnigh an réad socóige beo fad a bhíonn an ceangal in úsáid. I gcás cód blocála, bain úsáid as modhanna feithimh doiciméadaithe Qt le teorainn ama d'aon ghnó ina ionad.
Teastaíonn Qt Network le haghaidh seo, ní GUI bunaithe ar widgets. Baineann an socrú follasach leis an tsocóg seo. Is féidir le socóga eile réamhshocruithe a bhfeidhmchláir a choinneáil nó seachfhreastalaí eile a roghnú. Chun an tsocóg seo a dhéanamh díreach, socraigh a cineál seachfhreastalaí go QNetworkProxy::NoProxy sula ndéantar ceangal.