Qt Network သည် TCP socket တစ်ခုအတွက် SOCKS5 ကို တိုက်ရိုက် ညှိနှိုင်းနိုင်သည်။ ရှိပြီးသား Qt application တွင် မချိတ်ဆက်မီ socket ကို ပြင်ဆင်ပါ:

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

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

socket သည် ရှိပြီးသား QTcpSocket ဖြစ်သည်။ ဥပမာပါ ဦးတည်ရာနှင့် port သည် application ၏ TCP ဝန်ဆောင်မှုကို ကိုယ်စားပြုသည်။ Qt သည် proxy သို့ ဦးစွာ ရောက်ပြီး ထိုဦးတည်ရာသို့ ချိတ်ဆက်ရန် တောင်းဆိုသည်။ အများသူငှာ ရောက်ရှိနိုင်သော TCP ဝန်ဆောင်မှုနှင့် အများသူငှာ ကြားခံကို ခွင့်ပြုထားသောအခါ proxy အကောင့်မလိုသော ဤဥပမာအတွက် SOCKS5 proxy စာရင်း က ရွေးချယ်စရာများ ပေးသည်။ ရွေးချယ်မှုသည် ဝန်ဆောင်မှု၏ အမှန်တကယ် host နှင့် port ကို ခွင့်ပြုကြောင်း အတည်ပြုပါ။

ပုံမှန် asynchronous socket အချက်ပြမှုများ ဆက်လက်သက်ရောက်သည်: application ဒေတာ မလဲလှယ်မီ connected() ကို စောင့်ပါ၊ errorOccurred() ကို ကိုင်တွယ်ပါ။ ချိတ်ဆက်မှု အသုံးပြုနေစဉ် socket object ကို အရှင်ထားပါ။ blocking code အတွက် အစား Qt ၏ မှတ်တမ်းတင်ထားသော စောင့်ဆိုင်းနည်းလမ်းများကို တမင်သတ်မှတ်ထားသော timeout ဖြင့် အသုံးပြုပါ။

ဤသည်မှာ Qt Network လိုအပ်သည်၊ widgets အခြေခံ GUI မဟုတ်ပါ။ တိကျသော သတ်မှတ်ချက်သည် ဤ socket အတွက်သာ ဖြစ်သည်။ အခြား socket များသည် application ပုံသေများကို ထိန်းထားနိုင်သည် သို့မဟုတ် အခြား proxy ကို ရွေးနိုင်သည်။ ဤ socket ကို တိုက်ရိုက်ဖြစ်စေရန် မချိတ်ဆက်မီ ၎င်း၏ proxy အမျိုးအစားကို QNetworkProxy::NoProxy သို့ သတ်မှတ်ပါ။

ဆက်စပ်ဆောင်းပါးများ