In TCP-stream iepenje fia SOCKS5 mei Qt
Stel de eksplisite proxy fan QTcpSocket yn foardat jo ferbine mei de bestimming, mei Qt Network sûnder GUI-ferplichting.
Qt Network kin SOCKS5 direkt ûnderhannelje foar in TCP-socket. Yn in besteande Qt-applikaasje stel jo de socket yn foardat jo ferbine:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket is in besteande QTcpSocket. De bestimming en poarte yn it foarbyld steane foar de TCP-tsjinst fan de applikaasje. Qt berikt earst de proxy en freget dy dan om mei dy bestimming te ferbinen. Foar in iepenbier berikbere TCP-tsjinst wêr't in iepenbiere tuskenpersoan tastien is, leveret de SOCKS5-proxylist kandidaten foar dit foarbyld sûnder proxy-account. Kontrolearje dat de kandidaat de echte host en poarte fan de tsjinst tastiet.
De normale asynkrone socket-sinjalen jilde noch: wachtsje op connected() foardat jo applikaasjedata útwikselje, en behannelje errorOccurred(). Hâld it socket-objekt libben wylst de ferbining brûkt wurdt. Foar blokkearjende koade brûkje jo ynstee de dokumintearre wachtmetoaden fan Qt mei in bewuste tiidlimyt.
Dit fereasket Qt Network, gjin GUI op basis fan widgets. De eksplisite ynstelling heart by dit socket. Oare sockets kinne har applikaasjestândertiden behâlde of in oare proxy kieze. Om dit socket direkt te meitsjen, stel jo it proxytype yn op QNetworkProxy::NoProxy foardat jo ferbine.