Qt Network קען דירעקט פֿאַרהאַנדלען SOCKS5 פֿאַר אַ TCP סאָקעט. אין אַן עקזיסטירנדיקער Qt אַפּליקאַציע, קאָנפֿיגורירט דעם סאָקעט אײדער איר פֿאַרבינדט זיך:

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

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

socket איז אַן עקזיסטירנדיקער QTcpSocket. דער ציל און פּאָרט אין ביישפּיל פֿאָרשטעלן דעם TCP דינסט פֿון דער אַפּליקאַציע. Qt דערגרייכט ערשט דעם פּראָקסי, דערנאָך בעט עס זיך פֿאַרבינדן צו יענעם ציל. פֿאַר אַ פּובליק צוטריטלעכן TCP דינסט וווּ אַ פּובליקער פֿאַרמיטלער איז דערלויבט, פֿאַרזאָרגט די SOCKS5 פּראָקסי ליסטע קאַנדידאַטן פֿאַר דעם ביישפּיל אָן אַ פּראָקסי קאָנטאָ. באַשטעטיקט אַז דער קאַנדידאַט דערלויבט דעם עמעסטן האָסט און פּאָרט פֿון דעם דינסט.

די געוויינטלעכע אַסינכראָנע סאָקעט סיגנאַלן גילטן נאָך: וואַרט אויף connected() אײדער איר פֿאַרבייטס אַפּליקאַציע דאַטן, און באַהאַנדלט errorOccurred(). האַלט דעם סאָקעט אָביעקט לעבעדיק בשעת דער פֿאַרבינדונג ווערט גענוצט. פֿאַר בלאָקירנדיקן קאָד ניצט אַנשטאָט די דאָקומענטירטע וואַרט מעטאָדן פֿון Qt מיט אַ באַוווסטזיניק באַשטימטער צײַט־אָפּשניט.

דאָס פֿאָדערט Qt Network, נישט קיין GUI אויף widgets. די קלאָרע באַשטימונג געהערט צו דעם סאָקעט. אַנדערע סאָקעטן קענען אָפּהיטן די סטאַנדאַרט ווערטן פֿון דער אַפּליקאַציע אָדער אויסקלײַבן אַן אַנדער פּראָקסי. כּדי דער דאָזיקער סאָקעט זאָל גיין דירעקט, שטעלט זײַן פּראָקסי טיפּ אויף QNetworkProxy::NoProxy אײדער איר פֿאַרבינדט זיך.

פֿאַרבונדענע אַרטיקלען