PHP Live Chat function သည် websoolt protocol ပေါ်တွင်အခြေခံသည်။ ၎င်းသည် browser နှင့် server အကြားအချိန်နှင့်တပြေးညီဆက်သွယ်မှုကိုနားလည်နိုင်သည်။ ဤဆောင်းပါးသည် PHP တွင် Multi-device synchronization နှင့် message push လုပ်ဆောင်ချက်များကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအာရုံစိုက်မည်။
Websider အသစ်သည် Protocol အသစ်တစ်ခုဖြစ်သည်။ HTML5 တွင်ထည့်သွင်းထားပြီး browser ကို server နှင့် full-duplex (full-duplex) ဖြင့်ဆာဗာနှင့်ဆက်သွယ်ရန်ခွင့်ပြုသည်။ WebSocket protocol ကို 2011 ခုနှစ်တွင် IETF မှ RFC 6455 ကို RFC 6455 အဖြစ်သတ်မှတ်ပြီးနောက်ဆက်တွဲ RFC 7936 တွင်ထပ်မံရှင်းပြခဲ့သည်။
ရိုးရာ HTTP protocols များနှင့်မတူဘဲ websocket protocol သည်ရှည်လျားသောဆက်သွယ်မှုများကိုထောက်ပံ့ပေးပြီးဖောက်သည်များနှင့်ဆာဗာများအကြားဆက်တိုက်ထုတ်လွှင့်ခြင်းကိုခွင့်ပြုသည်။ ဆက်သွယ်မှုလုပ်ငန်းစဉ်ကို HTTP protocol မှစတင်သည်။ client သည် connection ကို Websound သို့အဆင့်မြှင့်တင်ရန်တောင်းဆိုမှုကိုပေးပို့သည်။ ဆာဗာကသဘောတူပါက protocol upgrade ကိုလက်ဆွဲနှုတ်ဆက်ခြင်းဖြင့်ပြီးစီးခဲ့သည်။
လက်ဆွဲနှုတ်ဆက်ခြင်းလုပ်ငန်းစဉ်အတွင်း Client သည် Sec-websocket-key ကိုတောင်းဆိုမှု header ကိုပေးပို့သည်, server သည်ဤနယ်ပယ်တွင် algorithmic processing လုပ်ထုံးလုပ်နည်းများကိုလုပ်ဆောင်သည်။
Websocket protocol သည်အဓိကဖြစ်ရပ်များကိုအဓိကဖြစ်ရပ်များကိုဖွင့်လှစ်ထားသည်။ ဆက်သွယ်မှုကိုထူထောင်ပြီးနောက်တော့ Onopen ဖြစ်ရပ်ကိုအစပျိုးခြင်း, ဒေတာထုတ်လွှင့်စဉ်သတင်းစကားကိုလက်ခံရရှိသည့်အခါ onmessage ဖြစ်ရပ်ကိုအစပျိုးထားပြီး, ဤအဖြစ်အပျက်မှတစ်ဆင့်စာကိုစာမျက်နှာသို့ပို့လိမ့်မည်။
မတူညီသောကိရိယာများအကြားထပ်တူချက်တင်ချက်ရရန်ကိရိယာအချက်အလက်များကိုသိမ်းဆည်းရန်နှင့်ဤအချက်အလက်များကိုကိရိယာများအကြားထပ်တူဆောင်ရွက်ရန်လိုအပ်သည်။ ဤတွင်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်သည့်အခြေခံကုဒ်ဥပမာတစ်ခုမှာ -
အထက်ပါကုဒ်များတွင် logged-in ထုတ်ကုန်များကိုဒေတာဘေ့စ်မှတစ်ဆင့် Database မှတစ်ဆင့်ဖွင့်ပြီး၎င်းတို့ကို array ထဲသို့သိုလှောင်ထားသည်။ Device Information ကိုထည့်သွင်းရန် adddevice နည်းလမ်းကိုအသုံးပြုသည်။
အခြားကိရိယာများအတွက်အခြားကိရိယာများရှိအသုံးပြုသူများမှပေးပို့သောမက်ဆေ့ခ်ျများပေးပို့ရန်ပစ္စည်းများကိုမက်ဆေ့ခ်ျများအကြားထပ်တူပြုခြင်းကိုအောင်မြင်ရမည်။ အောက်ဖော်ပြပါသည်မက်ဆေ့ခ်ျတွန်းအားပေးအတွက်အကောင်အထည်ဖော်ရန်စိတ်ကူးဖြစ်သည်။
ဤကုဒ်တွင် logged-in devices များစာရင်းကို deviceSync class နှင့် look တစ်ခုချင်းစီမှတစ်ဆင့်ကွင်းဆက်များစာရင်းတွင်ရရှိသည်။ အကယ်. စက်သည်လက်ရှိသုံးစွဲသူစက်ကိရိယာဖြစ်ပါက skip; ဒီလိုမှမဟုတ်ရင် device ကိုမက်ဆေ့ခ်ျကိုတွန်းအားပေးဖို့ websocket protocol ကိုသုံးပါ။
ဤဆောင်းပါးသည် PHP Real-Time Chat function ကိုမည်သို့အကောင်အထည်ဖော်ရမည်နှင့် Multi-device ထပ်တူပြုခြင်းနှင့် Message Push ကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးသည်။ websocket protocol မှတစ်ဆင့် browser နှင့် server အကြားနှစ်လမ်းသွားနှင့်သက်ဆိုင်သောဆက်သွယ်ရေးကိုအလွယ်တကူရရှိနိုင်ပါသည်။ ကိရိယာသတင်းအချက်အလက်စီမံခန့်ခွဲမှုလူမျိုးစုံအကြားမက်ဆေ့ခ်ျကိုထပ်တူပြုခြင်းကိုသေချာစေနိုင်သည်။
ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်း WebSound ဆက်သွယ်မှုများကိုတည်ထောင်ခြင်းနှင့်ချိတ်ဆက်ခြင်းကိုအထူးဂရုပြုသင့်သည်။ ထို့အပြင်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်မှာ WebSound ဆက်သွယ်မှုအရေအတွက်ကိုလျှော့ချရန်နှင့်ဆက်သွယ်ရေးအသွားအလာကိုလျှော့ချရန် Message Queue များကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။
ပြီးပြည့်စုံသော chat function ကိုတည်ဆောက်သည့်အခါရိုးရှင်းသောလုပ်ဆောင်ချက်များဖြင့်စတင်ရန်အကြံပြုသည်။