1
948

Http And Websocket

Myo Thant Kyaw

Websocket ဆိုတာဘာလည်း?
ဘယ်လိုအလုပ်လုပ်တာလည်း?
ဘယ်နေရာတွေမှာသုံးနိုင်ရမှာလည်း?
websocket libiary တချို့

Websocket အကြောင်းမပြောခင်
http အကြောင်းလေးနည်းနည်းဆွေးနွေးကြပါမယ်။

http or https (communication protocol) က unidirectional ဖြစ်ပါတယ်။
အသုံးပြုသူ user တွေက browser တစ်ခုခုသုံးပီး website တစ်ခုကိုခေါ်လိုက်တဲ့အခါမှာ
http protocol ကိုအသုံးပြုပီး client ကနေ serve  ကို request လုပ်ပါတယ်
server ကနေ ကျွန်တော်တို့မြင်ရမဲ့ ui နဲ့ အချက်အလက်တွေကို response လုပ်ပါတယ်။
http မှာက unidirectional ဖြစ်တဲ့အတွက် server ကနေ client ကိုဆက်သွယ်လို့မရပါဘူး
ဒီနေရာမှာ http နဲ့ဆိုင်တဲ့ method(get, post etc) status (400, 200 etc) cookie session 
conent type(application/json, text, multipart form data) စသဖြင့်များစွာပြောဖို့လိုနေသေးပေမဲ့ websocket ကိုဆက်သွားကြပါမယ်။

Websocket ကို လူပိန်းနာလည်အောင်အလွယ်ပြောရရင် 
webpage  တစ်ခုက refresh လုပ်စရာမလိုပဲ data တွေ ဘွားကနည်း (:P)
ပေါ်လာတဲ့ နည်းပညာတစ်ခုပါ။
ဥပမာ   
facebookမှာ ကိုယ့်ပိုစ်ကို  သူငယ်ချင်းတစ်ယောက်ယောက်က comment  လာပေးတဲ့အခါမှာ 
comment ကတန်းပေါ်လာတာမျိုးပေါ့
ဒါက websocket connectionကိုအသုံးပြုထားခြင်းဖြစ်ပါတယ်။

websocket က http လိုပဲ client server ဆက်သွယ်ချက်တစ်ခုပါ
http နဲ့မတူတာကတော့ bidirectional ပါ
client to server 
server to client 
နှစ်မျိုးလုံးဆက်သွယ်လို့ရပါတယ်။

 site တစ်ခုက 5 ခေါက် ခေါ်ခံလိုက်ရတဲ့အခါမှာ 
 http connection ၅ခုကိုဖွင့်ပီး server ကနေ response လုပ်ပီးတဲ့အချိန်မှာတော့
 connection အားလုံးကိုချက်ချင်းပြန်ပိတ်လိုက်ပါတယ်။

websocket ကတော့ client and server တစ်ခုခုလုံး၀ပိတ်သွားမှ
ဥပမာ browswer  ကိုပိတ်လိုက်တာမျိုး 
websocket အသုံးပြုနေတဲ့website တစ်ခုကိုပိတ်လိုက်တာမျိုး

ဒီအခြေအနေရောက်မှ socket connection ပိတ်သွားမှာဖြစ်ပါတယ်။

ဘယ်နေရာမှာအသုံးပြုနေလည်းဆိုရင်
အပေါ်က facebook comment , like , notification တွေမှာအသုံးချနေပါတယ်
နောက်တစ်မျိုးက online game တွေပါ
pubg ,  mobile legends စသဖြင့် game တွေမှာ တစ်ဖက်နဲ့တစ်ဖက် realtime မြင်ရဖို့အတွက်
socket connection ကိုအသုံးပြုနေပါတယ်။


PHP Websocket Libiary    => http://socketo.me/
Nodejs Websocket Libiary => https://socket.io/

realtime  database လို technology မျိုးတွေလည်းရှိနေပြန်ပါသေးတယ်။
rethinkdb => https://rethinkdb.com/
firebase realtime database => https://firebase.google.com/docs/database

ref : https://en.wikipedia.org/wiki/WebSocket
ref : https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API#guides

Comment:
Please Login To Create Comment Login
Loading...
Baby Satan 1 year ago web socket အကြောင်းတွေ ပိုတင်ပေးပါအုံး ဆရာ