ရိုးရာ web application များအရတိုတောင်းသောဆက်သွယ်မှုများကိုများသောအားဖြင့်ဆက်သွယ်ရန်အသုံးပြုကြသည်။ 0 န်ဆောင်မှုခံယူသူသည်ဆာဗာသို့တောင်းဆိုမှုတစ်ခုပေးသည့်အခါတိုင်းဆာဗာသည်တောင်းဆိုမှုကိုပြုလုပ်ပြီးတုန့်ပြန်မှုကိုပြန်ပို့သည်။ ထို့နောက်ချက်ချင်းအဆက်ဖြတ်ခြင်း။ သို့သော်အချိန်မှန်စကားပြောခြင်း, တွန်းအားပေးမက်ဆေ့ခ်ျများစသည်တို့ကဲ့သို့အချို့သောသီးခြား application တစ်ခုတွင်ရှည်လျားသောဆက်သွယ်မှုများသည်အချိန်နှင့်အညီအဆက်မပြတ်နှင့်အပြန်အလှန်အကျိုးသက်ရောက်မှုရှိသောအတွေ့အကြုံများကိုပေးနိုင်သည်။ ဤဆောင်းပါးသည် PHP တွင်ထိရောက်သောရှည်လျားသောဆက်သွယ်မှုကိုမည်သို့အောင်မြင်နိုင်မည်ကိုတိကျသောကုဒ်များဥပမာများဖြင့်မိတ်ဆက်ပေးလိမ့်မည်။
PHP တွင်ရှည်လျားသောဆက်သွယ်မှုဆက်သွယ်မှုကိုအကောင်အထည်ဖော်ရန်မှာအဓိကနည်းစနစ်နှစ်ခုရှိသည်။
မဲရုံသည်ရိုးရိုးရှင်းရှင်းဆက်သွယ်ရေးဆက်သွယ်ရေးနည်းပညာဖြစ်သည်။ ၎င်း၏အခြေခံနိယာမသည် client သည် client ကို server သို့အဆက်မပြတ်တောင်းဆိုမှုများကိုအဆက်မပြတ်ပေးပို့ခြင်းဖြစ်သည်။ တောင်းဆိုချက်ကိုလက်ခံရရှိပြီးနောက်ဆာဗာသည် 0 န်ဆောင်မှုခံယူသူထံတွန်းအားပေးရန်လိုအပ်သည့်အချက်အလက်အသစ်များရှိမရှိမရှိကိုစစ်ဆေးလိမ့်မည်။ ရှိပါကအချက်အလက်များကိုချက်ချင်းပြန်ပို့ပါ။ မရရှိလျှင်အချက်အလက်အသစ်များမရရှိနိုင်သည့်အထိဆက်သွယ်မှုကိုစောင့်ရှောက်ပါ။ မဲရုံများ၏အားနည်းချက်မှာ၎င်းသည်မမှန်ကန်သောတောင်းဆိုမှုများအမြောက်အများကိုထုတ်လုပ်နိုင်ပြီးဆာဗာတွင်ဝန်ထုပ်ဝန်ပိုးကိုတိုးစေသည်။
ဤတွင်ရိုးရှင်းသောမဲရုံနမူနာကုဒ်ဖြစ်သည်။
<?php // ဆာဗာဘက် $data = "Hello, World!"; // တွန်းခံရဖို့ဒေတာ while (true) { $newData = checkNewData(); // အချက်အလက်အသစ်များအတွက်စစ်ဆေးပါ if ($newData) { echo $newData; flush(); // တုန့်ပြန်မှုတစ်ခုပို့ပါ break; } usleep(1000); // အိပ်နေခြင်း1မီလီစက္ကန့်,ရေှာင်ရှားCPUအလွန်မြင့်မားသောထေို } // ဖောက်သည် set_time_limit(0); // အချိန်ကုန်ကန့်သတ်ချက်ကိုပယ်ဖျက်ပါ while (true) { $response = sendRequest(); // တောင်းဆိုမှုကိုပို့ပါ if ($response) { echo $response; } usleep(1000); // အိပ်နေခြင်း1မီလီစက္ကန့် } ?>
0 န်ဆောင်မှုခံယူသူနှင့်ဆာဗာများသည်တောင်းဆိုမှုများကိုစောင့်ဆိုင်းခြင်းမရှိဘဲတစ် ဦး နှင့်တစ် ဦး မက်ဆေ့ခ်ျပို့ရန်ခွင့်ပြုထားသော 0 က်ဘ်ဆိုက်များသည်ပိုမိုထိရောက်သောဆက်သွယ်ရေးအထောက်အကူပြုသည့်ပိုမိုထိရောက်သောနှင့်ကောင်းမွန်သောဆက်သွယ်ရေးဆက်သွယ်ရေး protocol ဖြစ်သည်။ ၎င်းသည်အွန်လိုင်းဂိမ်းများ, အချိန်မှန်စကားပြောခြင်း,
ဤတွင်ရိုးရှင်းသော websocket နမူနာကုဒ်သည်ဤတွင်ဖြစ်သည်။
<?php // ဆာဗာဘက် $server = new WebSocketServer("localhost", 8000); // ဖန်တီးWebSocketဆာဗာအရာဝတ်ထု while (true) { $client = $server-> လက်ခံ (); // client connection ကိုလက်ခံနေစဉ် (true) { $ message = $ client-> လက်ခံ (); // ($ မက်ဆေ့ခ်ျ) လျှင် client ကိုမက်ဆေ့ခ်ျကိုလက်ခံရရှိသည် // လုပ်ငန်းစဉ်လိုင်းများ // $ ဒေတာ = processmessage ($ message); // ပြုပြင်ထားသောဒေတာများကို client // $ client-> Send ($ ဒေတာ) သို့ push လုပ်ပါ။ } } $ client-> အနီးကပ် (); // client client connection} // client $ socket = "WS: // localhost: 8000"), // ဝက်ဘ်ဆိုက် client အရာဝတ်ထုကို (true) ကိုဖန်တီးပါ $ message = $ socket-> လက်ခံရရှိ (); // ($ မက်ဆေ့ခ်ျ) {server message ကိုလက်ခံရရှိပါ // လုပ်ငန်းစဉ်ဆာဗာမက်ဆေ့ခ်ျများ // $ ဒေတာ = processmessage ($ message); // လုပ်ငန်းစဉ်ဒေတာကိုအသုံးပြုသူ // ပဲ့တင်သံ $ ဒေတာကိုပြသပါ။ } // ဆာဗာသို့စာတစ်စောင်ပို့ပါ // $ socket-> Send ($ message); } >
PHP တွင်နှစ်ရှည်ဆက်သွယ်မှုကိုအကောင်အထည်ဖော်ရန်အသုံးစရိတ်နှစ်ခုကိုဤဆောင်းပါးကဖော်ပြသည်။ နည်းလမ်းတစ်ခုစီတွင်၎င်း၏အားသာချက်များနှင့်အားနည်းချက်များရှိသည်။ မှန်ကန်သောဖြေရှင်းချက်ကိုရွေးချယ်ခြင်းသည်တိကျသောလျှောက်လွှာလိုအပ်ချက်အပေါ် အခြေခံ. ကုန်သွယ်မှုလိုအပ်သည်။ ဤနမူနာကုဒ်များမှတစ်ဆင့်သင်ဟာအချိန်ကြာမြင့်စွာဒေတာအပြန်အလှန်ဆက်သွယ်မှုရရှိရန်ရှည်လျားသောချိတ်ဆက်ထားသောဆက်သွယ်ရေးနည်းပညာကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်မျှော်လင့်ပါသည်။