Skip to content
GitHub

မိတ်ဆက် - WebSockets: Real-Time Web ဆီသို့ တံခါးဖွင့်ခြင်း

အခုခေတ် Website တွေဟာ အရင်လို ရုပ်ပြသက်သက် စာမျက်နှာတွေတင် ပြတာမျိုး မဟုတ်တော့ပါဘူး။ ပိုပြီး အသက်ဝင်လာတယ်၊ ကိုယ်လုပ်လိုက်တာကို ချက်ချင်း တုံ့ပြန်လာနိုင်ပါတယ်။ ဥပမာအနေနဲ့ ပြောရရင် Chat App တွေလိုမျိုး၊ Online ဆော့တဲ့ ဂိမ်းတွေလိုမျိုး၊ ဒါမှမဟုတ် စတော့ရှယ်ယာဈေးလိုမျိုး အချိန်နဲ့အမျှ ပြောင်းလဲနေတဲ့ သတင်းအချက်အလက်တွေကို Website ကနေ ကိုယ့်ဆီကို ချက်ချင်း ပို့ပေးဖို့ လိုပါတယ်။

ဒီလိုမျိုး Website Server (သတင်းအချက်အလက်ထားရာနေရာ) ကနေ ကိုယ့် Browser ဆီကိုရော၊ ကိုယ့် Browser ကနေ Server ဆီကိုပါ အချက်အလက်တွေကို တစ်ချိန်တည်း အပြန်အလှန် ပို့နိုင်ဖို့အတွက် WebSockets ဆိုတဲ့ နည်းပညာက အရမ်းအရေးကြီးပါတယ်။

ရှင်းရှင်းပြောရရင် WebSocket ဆိုတာဟာ ကိုယ့်ရဲ့ Browser နဲ့ Website ရဲ့ Server ကြားမှာ ဖုန်းကြိုးဖွင့်ထားသလိုမျိုး လမ်းကြောင်းတစ်ခုကို အမြဲတမ်း ဖွင့်ပေးထားတာပါ။ ဒါ့ကြောင့် အချက်အလက်တွေ ပို့ချင်တဲ့အခါ အဲဒီဖွင့်ထားတဲ့ လမ်းကြောင်းအတိုင်း ချက်ချင်း ပို့လို့ ရသွားပါတယ်။

websocket bi-directional connection

ဒီလိုမျိုး အမြဲတမ်းဖွင့်ထားပြီး အပြန်အလှန် ပြောဆိုလို့ရတဲ့ လမ်းကြောင်းမျိုးကို ဘာကြောင့် လိုအပ်လာတာလဲ? ဒါကို သိရှိဖို့အတွက် HTTP နဲ့ TCP အကြောင်းကို ပြန်ကြည့်ဖို့ လိုပါတယ်။ ဘာလို့လဲဆိုတော့ အင်တာနက် ချိတ်ဆက်မှုတွေရဲ့ အခြေခံအစက TCP ဖြစ်ပြီး၊ အဲဒီအပေါ်မှာ အခြေခံတဲ့ HTTP ရဲ့ လက်ဆွဲနှုတ်ဆက်ပုံ (handshake) ကို အသုံးပြုပြီးမှ WebSocket ချိတ်ဆက်မှုကို ထူထောင်ကြတာ ဖြစ်ပါတယ်။ ဒါကြောင့် အရင်ဆုံး TCP နဲ့ HTTP အကြောင်းကို လေ့လာကြည့်ရအောင်။

browser and server ws connection