Pagbukas ng TCP stream sa SOCKS5 gamit ang Qt
Itakda ang tahasang proxy ng QTcpSocket bago kumonekta sa destinasyon, gamit ang Qt Network na hindi kailangan ng GUI.
Kayang makipagnegosasyon ng Qt Network ng SOCKS5 para sa isang TCP socket nang direkta. Sa umiiral na Qt application, i-configure ang socket bago kumonekta:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
Ang socket ay isang umiiral na QTcpSocket. Ang destinasyon at port sa halimbawa ay kumakatawan sa TCP service ng application. Inaabot muna ng Qt ang proxy, pagkatapos ay hinihiling nitong kumonekta sa destinasyong iyon. Para sa TCP service na accessible sa publiko kung saan pinapayagan ang pampublikong tagapamagitan, ang listahan ng SOCKS5 proxy ay nagbibigay ng mga kandidato para sa halimbawang ito na walang proxy account. Tiyakin na pinapayagan ng kandidato ang aktwal na host at port ng serbisyo.
Nalalapat pa rin ang karaniwang asynchronous socket signal: maghintay ng connected() bago magpalitan ng application data, at pangasiwaan ang errorOccurred(). Panatilihing buhay ang socket object habang ginagamit ang koneksyon. Para sa blocking code, gamitin sa halip ang mga dokumentadong paraan ng paghihintay ng Qt na may sadyang itinakdang timeout.
Nangangailangan ito ng Qt Network, hindi GUI na nakabatay sa widget. Ang tahasang setting ay para sa socket na ito. Maaaring panatilihin ng ibang socket ang mga default ng application o pumili ng ibang proxy. Upang gawing direkta ang socket na ito, itakda ang uri ng proxy nito sa QNetworkProxy::NoProxy bago kumonekta.