ပရောက်စီ စစ်ဆေးသူသည် SendTimeout = 200 သတ်မှတ်ပြီး Connect ကို ခေါ်ကာ မျှော်လင့်သည်ထက် အများကြီး ပိုစောင့်သည်။ timeout သည် စစ်ဆေးသူ မရောက်သေးသော လုပ်ဆောင်ချက်တစ်ခုနှင့် ချိတ်ဆက်ထားသည်။

Socket.SendTimeout သည် ထပ်တူပြု ပို့ခြင်းများကို ထိန်းချုပ်သည်။ ၎င်းသည် ထပ်တူပြု ချိတ်ဆက်မှု ကြိုးပမ်းမှုကို 200 ms သတ်မှတ်ချိန် မပေးပါ။ Connect မတိုင်မီ အိပ်ခြင်း ထည့်လျှင် နောက်ထပ် နှောင့်နှေးမှု တစ်ခုသာ ထပ်တိုးသည်။

စောင့်နေသော လုပ်ဆောင်ချက်ကို ပယ်ဖျက်ပါ

ပယ်ဖျက်နိုင်သော overload ပေးသော ခေတ်မီ .NET ပစ်မှတ်တွင် async စစ်ဆေးမှုတစ်ခုသည် ၎င်း၏ ဘတ်ဂျက်ကို ချိတ်ဆက်မှု တည်ဆောက်ခြင်းတွင် အသုံးပြုနိုင်သည်။

using var budget = new CancellationTokenSource(TimeSpan.FromSeconds(2));
using var client = new TcpClient();
await client.ConnectAsync(proxyHost, proxyPort, budget.Token);

ဤအပိုင်းသည် async နည်းလမ်းတွင် ပါဝင်ပြီး ပရောက်စီ လက်ခံစက်နှင့် ပို့တ်ကို ခေါ်သူက ပေးသည်။ ပရောက်စီ စာရင်းမှ အများသုံး ကိုယ်စားလှယ်လောင်းတစ်ဦးက ထို ထည့်သွင်းချက် နှစ်ခုကို ပေးနိုင်သည်။ စစ်ဆေးသူက မအောင်မြင်ရသည့် အကြောင်းရင်းများကို ဖော်ပြပါက ပယ်ဖျက်မှုကို socket အမှားနှင့် သီးခြား ကိုင်တွယ်ပါ။ client ကို dispose လုပ်ခြင်းက ပြီးစီးသော စစ်ဆေးမှုများ socket စုပုံခြင်းကိုလည်း တားဆီးသည်။

ရှေးဟောင်း .NET Framework ကုဒ်တွင် ခေတ်မီ overload အားလုံး မရှိပါ။ ပံ့ပိုးထားသော async ချိတ်ဆက်မှု အစီအစဉ်ကို အသုံးပြုပြီး ကြိုးပမ်းမှုကို စွန့်လွှတ်သောအခါ socket ကို ရှင်းလင်းစွာ ပိတ်ပါ။ သင့်စောင့်ဆိုင်းမှုကို ရပ်တန့်ရုံဖြင့် အောက်ခံ လုပ်ဆောင်ချက် ရပ်တန့်သွားကြောင်း သက်သေမပြနိုင်ပါ။

အစိမ်းရောင် ရလဒ်သည် သေးငယ်သော ရလဒ်ဖြစ်နေဆဲ

အောင်မြင်သော TCP ချိတ်ဆက်မှုသည် ဤ client သည် နားထောင်နေသော အဆုံးမှတ်သို့ ရောက်ရှိကြောင်း သက်သေပြသည်။ ၎င်းသည် SOCKS ညှိနှိုင်းခြင်း၊ HTTP ပရောက်စီတွင် စစ်မှန်ကြောင်း အတည်ပြုခြင်း၊ CONNECT ဖွင့်ခြင်း သို့မဟုတ် လိုချင်သော ဝဘ်ဆိုက် တုံ့ပြန်မှုကို လက်ခံခြင်း မပြုရသေးပါ။

ထို နောက်ပိုင်း အဆင့်များကို ၎င်းတို့၏ ကိုယ်ပိုင် ကန့်သတ်ထားသော ကိုင်တွယ်မှု ပေးပါ၊ သို့မဟုတ် ရည်ရွယ်ချက်ရှိသော စုစုပေါင်း သတ်မှတ်ချိန်ကို ၎င်းတို့မှတစ်ဆင့် သယ်ဆောင်ပါ။ သို့မဟုတ်ပါက ပြုပြင်ထားသော ချိတ်ဆက်မှု တိုင်မာသည် ပြီးပြည့်စုံစွာ အလုပ်လုပ်နေစဉ် စစ်ဆေးသူက ပရောက်စီ handshake ကို စောင့်ရန် နောက်ထပ် တစ်မိနစ် ကုန်ဆုံးစေသည်။

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