မှန်ကန်သော proxy လိပ်စာက လက်ဖြင့်ရေးထားသော SOCKS မက်ဆေ့ချ်ကို မှန်ကန်စေမည် မဟုတ်ပါ။ C သို့မဟုတ် C++ struct ပို့ခြင်းက protocol မတောင်းဆိုခဲ့သည့် padding သို့မဟုတ် host အစီအစဉ်ဖြင့် ကိန်းပြည့်များ ပို့နိုင်သည်။

SOCKS5 domain-name CONNECT တောင်းဆိုမှုအတွက် method ညှိနှိုင်းမှုနှင့် ရွေးချယ်ထားသော authentication ပြီးနောက် ဤအစီအစဉ်ကို ရှင်းလင်းစွာ စီစဉ်ပါ-

  1. ဗားရှင်း၊ အမိန့်၊ သီးသန့်ဘိုက်နှင့် လိပ်စာအမျိုးအစား
  2. ဒိုမိန်းအရှည်နှင့် ဒိုမိန်းဘိုက်များ
  3. ကွန်ရက်ဘိုက်အစီအစဉ်ဖြင့် နှစ်ဘိုက်ပါ ဦးတည်ဆိပ်ကမ်း

လိပ်စာအရှည်များသည် SOCKS ဗားရှင်းနှင့် လိပ်စာအမျိုးအစားပေါ် မူတည်သည်။ ပုံသေအကျယ်ရှိ ကိန်းဂဏန်းအကွက်များအတွက် သတ်မှတ်ထားသော ကိုယ်စားပြုမှု လိုအပ်သည်။ ဒိုမိန်းစာလုံးတန်းများတွင် ကိုယ်ပိုင်အရှည် ကုဒ်ပြောင်းမှု ရှိသည်။ C စာလုံးတန်း အဆုံးသတ်သည် ကွန်ရက်မက်ဆေ့ချ်တွင် သုညထည့်ရန် ယေဘုယျညွှန်ကြားချက် မဟုတ်ပါ။

အကောင်အထည်ဖော်မှု ဖြတ်လမ်းစစ်ဆေးရမည့် ပြဿနာ
8-bit pointer မှတစ်ဆင့် 32-bit တန်ဖိုး သတ်မှတ်ခြင်းဘိုက်လေးခုလုံးကို မထုတ်ပေးပါ
buffer ကို ပိုကြီးသော ကိန်းပြည့် pointer အဖြစ် cast လုပ်ခြင်းချိန်ညှိမှုနှင့် ဘိုက်အစီအစဉ်ကို ဆက်လက်ကိုင်တွယ်ရမည်
ဖတ်ခြင်း သို့မဟုတ် ရေးခြင်းတစ်ခုသည် မက်ဆေ့ချ်တစ်ခုဟု ယူဆခြင်းTCP သည် protocol အစီအစဉ်၏ တစ်စိတ်တစ်ပိုင်းကိုသာ ပို့နိုင်သည်

အကွက်တစ်ခုစီကို ရည်ရွယ်ထားသော ဦးတည်ရာနှင့် နှိုင်းယှဉ်ပြီး တစ်စိတ်တစ်ပိုင်း I/O ကို ကိုင်တွယ်ပါ။ ဘိုက်နှစ်ခု ရရှိခြင်းက အဖြေတစ်ခုလုံး ရောက်လာသည်ဟု မသက်သေပါ။ ထိုနယ်နိမိတ်များကို စစ်ဆေးခြင်းက ပုံမှားတောင်းဆိုမှုကို မှန်ကန်စွာဖော်ပြထားသော ချိတ်ဆက်မှုကို ငြင်းပယ်သည့် ဆာဗာနှင့် ခွဲခြားနိုင်သည်။

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