အင်တာနက်ကိုလျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူအချိန်မှန်ဆက်သွယ်ရေးစွမ်းရည်သည် 0 က်ဘ်ဆိုက်များနှင့် applications များတွင်အထူးအရေးကြီးသည်။ ၎င်းသည်အွန်လိုင်းစကားပြောခြင်း, Multiplayer ဂိမ်းများသို့မဟုတ်လက်ငင်းစာတိုပေးပို့ရေး, လက်ငင်းစာတိုပေးပို့ခြင်း, Real-time ဆက်သွယ်ရေးသည်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန်အဓိကနည်းပညာတစ်ခုဖြစ်သည်။ လူကြိုက်များသော server-side programming language တစ်ခုအနေဖြင့် PHP သည်အချိန်နှင့်တပြေးညီဆက်သွယ်ရေးနည်းပညာအကောင်အထည်ဖော်မှုနည်းလမ်းများကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PHP Real-time ဆက်သွယ်ရေးလုပ်ငန်းများနှင့်ရှုထောင့်မျိုးစုံမှ websound အကြားစွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ကြည့်မည်။
PhP Polting, Comet (Polling Artents) စသည်ဖြင့်ပါ 0 င်ခြင်း,
မဲရုံသည်ဂန္ထဝင်ဆက်သွယ်ရေးနည်းလမ်းဖြစ်သည်။ နိယာမသည် client သည်ဆာဗာသို့ 0 န်ဆောင်မှုကိုပုံမှန်တောင်းဆိုမှုများကိုမှန်မှန်ပို့ပေးရန်နှင့်ဆာဗာသည်နောက်ဆုံးပေါ်အချက်အလက်များကိုပြန်ပို့သည်။ ဤနည်းလမ်းသည်ရိုးရှင်းသော်လည်းမကြာခဏတောင်းဆိုမှုများနှင့်တုံ့ပြန်မှုများကြောင့်ကွန်ယက်ဝန်သည်မြင့်မားပြီးအချိန်နှင့်တပြေးညီစွမ်းဆောင်ရည်သည်ဆင်းရဲသည်။
Comet နည်းပညာသည်ရိုးရာမဲရုံများကိုတိုးတက်စေသည်။ 0 န်ဆောင်မှုခံယူသူသည်တောင်းဆိုမှုတစ်ခုပေးပြီးနောက်ဒေတာအသစ်မရှိတော့သည်အထိဆာဗာသည်ဆက်သွယ်မှုကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။ ၎င်းသည်တောင်းဆိုမှုများ၏ကြိမ်နှုန်းကိုလျော့နည်းစေသော်လည်း,
SSE (ဆာဗာ Push ဖြစ်ရပ်) သည် HTTP protocol ကို အခြေခံ. ဆာဗာတွန်းအားပေးနည်းပညာဖြစ်သည်။ 0 န်ဆောင်မှုခံယူသူသည် PentrentSource Office မှတစ်ဆင့်ဆာဗာသို့ဆက်သွယ်ပြီးဆာဗာမှ Proust လုပ်ထားသောအချက်အလက်များကိုအချိန်မှန်ဖြင့်လက်ခံသည်။ SSE သည်မဲရုံများနှင့်ကြယ်တံခွန်များထက်ပိုမိုထိရောက်သည်။
WebSound သည်အပြည့်အဝ duplex ဆက်သွယ်ရေး protocol တစ်ခုဖြစ်ပြီးတည်မြဲသောဆက်သွယ်မှုများမှတဆင့် latencessional latencessional ကိုရရှိရန်ဒီဇိုင်းပြုလုပ်ထားသောအပြည့်အဝဆက်သွယ်ရေး protocol တစ်ခုဖြစ်သည်။ ၎င်းသည်ရိုးရာအချိန်မှန်ဆက်သွယ်ရေးနည်းစနစ်များအပေါ်သိသာထင်ရှားသောအားသာချက်များရှိသည်။
<?php $server = new WebSocketServer("localhost", 8000); // ဆက်သွယ်မှုဖြစ်ရပ်များကိုနားထောင်ပါ $server->Addlistener ("Connect", function ($ ဆက်သွယ်မှု) { echo "client ကိုချိတ်ဆက်ထားသည် -" $ ဆက်သွယ်မှု -> Getid () ။ "\ n"; }); // data ည့်ခံပွဲများကိုနားထောင်ပါ $ ဆာဗာ -> addlistener ("လက်ခံခြင်း", function ($ ဆက်သွယ်မှု, $ ဒေတာ) { ECHO "client မှလက်ခံရရှိသည်။ $ ဒေတာ။ "\ n"; // လုပ်ငန်းစဉ်အချက်အလက်များ, သင်သည်အခြားဖောက်သည်များထံမှဒေတာများကိုပေးပို့နိုင်သည်}; // disconnect လုပ်ရပ်ကိုနားထောင်ပါ $ ဆာဗာ -> Addlistener ("disconnect), function ($ ဆက်သွယ်မှု) { ပဲ့တင်သံ "client ကိုအဆက်ဖြတ်ခြင်း။ $ ဆက်သွယ်မှု -> Getid () ။ "\ n"; }); // ဆာဗာ $ ဆာဗာကိုစတင်ပါ။ >
<!DOCTYPE html> <html> <head> <title>WebScess client</title> <script> // ဖန်တီးWebSocketကန့်ကွက် var socket = new WebSocket("ws://localhost:8000"); // ဆက်သွယ်မှုအောင်မြင်သောဖြစ်ရပ် socket.onopen = function(event) { console.log("Connected to server"); }; // မက်ဆေ့ခ်ျဖြစ်ရပ်များကိုလက်ခံရရှိသည် socket.onmessage = function(event) { console.log("Received from server: " + event.data); }; // ဆက်သွယ်မှုဖြစ်ရပ်ကိုပိတ်ပါ socket.onclose = function(event) { console.log("Connection closed"); }; // ဆာဗာသို့စာတစ်စောင်ပို့ပါ function sendMessage() { var message = document.getElementById("message").value; socket.send(message); } </script> </head> <body> <input type="text" id="message" /> <button onclick="sendMessage()">ပေးပို့</button> </body> </html>
အထက်ပါဥပမာကုဒ်မှတဆင့် PHP ကိုအသုံးပြုခြင်းသည် Websound ဆက်သွယ်ရေးလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အလွန်ရိုးရှင်းပါသည်။ ဆာဗာဘေးထွက်သည် 0 န်ဆောင်မှုခံယူသူများကို 0 က်ဘ်ဆိုက်များကိုသော့ခလောက်, 0 န်ဆောင်မှုခံယူသူသည်ဝက်ဘ်ဆိုက်အရာဝတ်ထုတစ်ခုကိုဖန်တီးပြီးမက်ဆေ့ခ်ျများပေးပို့ခြင်းနှင့်လက်ခံခြင်းကိုနားလည်သဘောပေါက်ရန်ဆာဗာဘက်နှင့်ဆက်သွယ်မှုကိုတည်ဆောက်သည်။
နှိုင်းယှဉ်လေ့လာခြင်းအားဖြင့်ဝက်ဘ်ဆိုက်များသည်အနိမ့်အနေဖြင့်အနိမ့်အနေဖြင့်အနိမ့်အနေဖြင့်အနိမ့်အနေဖြင့်အနိမ့်အမြင့်, အချိန်နှင့်တပြေးညီဆက်သွယ်ရေးလိုအပ်သည့်လျှောက်လွှာများအတွက် websoet သည်ပိုမိုသင့်လျော်သောနည်းပညာပိုင်းဆိုင်ရာဖြေရှင်းနည်းဖြစ်သည်။ PHP ၏ရိုးရာအချိန်မှန်ဆက်သွယ်ရေးနည်းပညာများသည်မဲရုံများနှင့် SSE ကဲ့သို့သောလိုအပ်ချက်များနှင့်လည်းကိုက်ညီသော်လည်းဝက်ဘ်ဆိုက်များသည်ဖြစ်နိုင်ချေရှိသောစွမ်းဆောင်ရည်လိုအပ်ချက်များနှင့်အတူအခြေအနေများတွင်ပိုမိုကောင်းမွန်သောရွေးချယ်မှုသည်သေချာသည်။