SOCKS proxy သို့ ချိတ်ဆက်ပြီးနောက် Node.js EPIPE
SOCKS အဆုံးမှတ်သို့ ချိတ်ဆက်ပြီးနောက် Node ၏ EPIPE ကို ရှင်းပြပြီး လိုအပ်သော handshake ပြီးစီးခြင်း ရှိ/မရှိ စစ်ဆေးပါ။
Node socket ၏ connect ဖြစ်ရပ်က TCP သည် proxy သို့ ရောက်ရှိကြောင်း ပြောပြသည်။ proxy သည် ပန်းတိုင်သို့ ချိတ်ဆက်မှု ဖွင့်ခဲ့ကြောင်း မပြောပါ။
SOCKS5 ဆာဗာသည် အပလီကေးရှင်း လုပ်ငန်းစဉ် မတိုင်မီ နည်းလမ်း ညှိနှိုင်းမှု၊ ရွေးချယ်ထားသော အတည်ပြုခြင်းနှင့် ပန်းတိုင် တောင်းဆိုမှုကို စောင့်မျှော်သည်။ HTTP တောင်းဆိုမှုကို ချက်ချင်း ပို့ပါက ဆာဗာက ချိတ်ဆက်မှုကို ပိတ်နိုင်သည်။ နောက်ပိုင်း ရေးသားမှုက EPIPE ဖြစ်ပေါ်စေနိုင်သည်။
EPIPE တစ်ခုတည်းက handshake လက်လွတ်နေကြောင်း သက်သေမပြနိုင်ပါ။ ၎င်းက အခြားဘက်မှ ထိုဆက်သွယ်မှုကို လက်မခံတော့သော ချိတ်ဆက်မှုသို့ ရေးသားမှုကို အစီရင်ခံသည်။ အခြားဘက်က အဘယ်ကြောင့် ပိတ်ခဲ့သည်ကို သိရန် ယခင်ဖြစ်ရပ်များနှင့် ပရိုတိုကော တုံ့ပြန်မှုများကို ဖတ်ပါ။
SOCKS ဖလှယ်မှု အပြည့်အစုံကို အကောင်အထည်ဖော်သော ချိတ်ဆက်ကိရိယာကို အသုံးပြုပါ။ Node ၏ ပင်မ HTTPS client အတွက် SOCKS သိသော agent သည် ပန်းတိုင် TLS မတိုင်မီ ထိုညှိနှိုင်းမှုကို လုပ်ဆောင်နိုင်သည်။ ဖလှယ်မှုကို သင်ကိုယ်တိုင် အကောင်အထည်ဖော်ပါက ပရိုတိုကော၏ အကွက် အလျားများအတိုင်း ဒေတာကို စုစည်းပါ။ data ဖြစ်ရပ် တစ်ခုတွင် တုံ့ပြန်မှု အပြည့်အစုံ တစ်ခု ပါဝင်မည်ဟု အာမမခံနိုင်ပါ၊ ပြန်ပေးသော bound လိပ်စာသည် hardcode လုပ်ထားသော byte စာကြောင်း တစ်ခုနှင့် ကိုက်ညီရန် မလိုအပ်ပါ။
လုပ်ဆောင်မှု မအောင်မြင်မီ အမှား ကိုင်တွယ်မှုကို မှတ်ပုံတင်ပါ၊ အမှား အစီရင်ခံစာတွင် ချိတ်ဆက်မှု အဆင့်ကို ထိန်းသိမ်းပါ၊ ညှိနှိုင်းမှု အောင်မြင်ပြီးမှသာ ပန်းတိုင် ပရိုတိုကောကို ပို့ပါ။ အမှားကို ဖမ်းယူခြင်းက မကိုင်တွယ်ရသေးသော ဖြစ်ရပ်ကို တားဆီးသည်၊ မမှန်ကန်သော ဖလှယ်မှုကို မပြုပြင်ပါ။