လက်ငင်းဆက်သွယ်ရေးသည်ခေတ်မီအင်တာနက်ဘဝ၏မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းတစ်ခုဖြစ်လာသည်။ အွန်လိုင်းစကားပြောခြင်း, Real-time notifications များသို့မဟုတ် Multiplayer Games, Instant Myiling Technology သည်အရေးကြီးသောအခန်းကဏ် plays မှပါ 0 င်သည်ဖြစ်စေ, Web-based instant committension systems များကို websocket protocol ကို အသုံးပြု. မကြာခဏအကောင်အထည်ဖော်လေ့ရှိသည်။
ဤဆောင်းပါးသည် PHP ကိုအားကြီးသောနှင့်အလွန်စိတ်ကြိုက်ပြုပြင်နိုင်သောလက်ငင်းစာတိုပေးပို့ရေးစနစ်ဖွံ့ဖြိုးတိုးတက်စေရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။ ကျွန်ုပ်တို့သည် PHP ကို အသုံးပြု. websock server ကိုတီထွင်ရန်အဆင့်များနှင့်ဝက်ဘ်ဆိုက်ဆာဗာတစ်ခုကိုတည်ဆောက်ရန်အဆင့်များကိုကျွန်ုပ်တို့ဖုံးလွှမ်းမည်။
TCP ဆက်သွယ်မှုတစ်ခုတည်းတွင်အပြည့်အဝ duplex ဆက်သွယ်ရေးအတွက် Full Duplex ဆက်သွယ်ရေးအတွက် protocol တစ်ခုဖြစ်သည်။ ရိုးရာ HTTP protocol နှင့်မတူသည်မှာ HTTP အဆင့်မြှင့်တင်မှုများမှတစ်ဆင့် HTTP အဆင့်မြှင့်တင်မှုများမှတစ်ဆင့်ဆက်သွယ်မှုကိုစတင်သည်။ WebSocket protocol သည်ချက်ချင်းဆက်သွယ်ရေးအတွက်ပိုမိုထိရောက်သောဖြေရှင်းချက်ကိုပေးသည်။
PHP ကို အသုံးပြု. websocket server ကိုတီထွင်ခြင်းအတွက်ပထမခြေလှမ်းမှာ socket connection တစ်ခုဖန်တီးရန်နှင့် client ၏ connection တောင်းဆိုမှုများကိုနားထောင်ရန်ဖြစ်သည်။ PHP တွင်၎င်းကိုအကောင်အထည်ဖော်ရန်သင် stream_socket_server function ကိုသုံးနိုင်သည်။
$server = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
အကယ်. ဆာဗာသည်မအောင်မြင်ပါကအမှားအယွင်းများကိုထုတ်လုပ်ရန်ကျွန်ုပ်တို့သည်သေဆုံး () function ကိုသုံးနိုင်သည်။
if (!$server) { die("Error: {$errstr} ({$errno})"); }
ဆာဗာသည် 0 န်ဆောင်မှုခံယူမှုတောင်းဆိုမှုများအတွက်စာရင်းပြုစုပြီးသည်နှင့် client မှဆက်သွယ်မှုကိုကျွန်ုပ်တို့ကိုင်တွယ်ရန်လိုအပ်သည်။ client connections များကိုလက်ခံရရှိရန်နှင့်ချိတ်ဆက်ရန်ဆက်သွယ်မှုတစ်ခုစီအတွက်လွတ်လပ်သောကလေးဖြစ်စဉ်ကိုဖန်တီးရန် Stream_Socket_Acception function ကိုသင်အသုံးပြုနိုင်သည်။
while ($client = stream_socket_accept($server)) { // ဆက်သွယ်မှုတောင်းဆိုမှုများ processing }
connection များတည်ဆောက်ရန် Websocket protocol သည် http handshake ကိုအသုံးပြုသည်။ Client သည် connection တစ်ခုတောင်းဆိုသည့်အခါဆာဗာသည်လက်ဆွဲနှုတ်ဆက်ခြင်းတုံ့ပြန်မှုကိုပြန်ပို့ရန်လိုအပ်သည်။ PHP တွင် HTTP handshake အချက်အလက်များကို fgets များနှင့် fgets functions များမှတဆင့်ဖတ်ရန်နှင့်ရေးသားနိုင်သည်။
$request = fgets($client); // လက်ဆွဲနှုတ်ဆက်တောင်းဆိုမှုကိုဖတ်ပါ
တောင်းဆိုမှုတွင်အဓိကအချက်အလက်များ (ဥပမာ - အဆင့်မြှင့်တင်ခြင်း, ဆက်သွယ်မှု, sec-sec-sec-websocket-key) နှင့်လက်ဆွဲနှုတ်ဆက်ခြင်းကိုဆိုလိုသည်။
$response = "HTTP/1.1 101 Switching Protocols" . "Upgrade: websocket" . "Connection: Upgrade" . "Sec-WebSocket-Accept: " . base64_encode(sha1($key . "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", true)) . "";
Websocket Handshake ပြီးတာနဲ့ server နှင့် client ကိုအကြား Real-time message stritting ကိုဖျော်ဖြေနိုင်သည်။ မက်ဆေ့ခ်ျများကိုထုတ်လွှင့်ရန် Websocket protocol သည်တိကျသောဒေတာဘောင်ပုံစံကိုအသုံးပြုသည်။ PHP တွင် client မှပေးပို့သောအချက်အလက်များကို stream_socket_recvfrom function ကို ဖြတ်. ရရှိသောအချက်အလက်များနှင့် stream_socket_sendto function ကို သုံး. client သို့ပို့သည်။
$data = stream_socket_recvfrom($client, 1024); // ဒေတာဘောင်ကိုလက်ခံရရှိသည်
PHP ကို အသုံးပြု. Websoet server တစ်ခုကိုတည်ဆောက်ရန် PHP ကိုအသုံးပြုခြင်းသည်လက်ငင်းစာတိုပေးပို့ရေးစနစ်တည်ဆောက်ရန်ပထမခြေလှမ်းသာဖြစ်သည်။ ကြွယ်ဝသောအင်္ဂါရပ်များနှင့်စိတ်ကြိုက်ပြုပြင်နိုင်သောအင်္ဂါရပ်များရှိသည့်စနစ်တစ်ခုကိုအကောင်အထည်ဖော်ရန်အတွက်လည်းကျွန်ုပ်တို့သည်မက်ဆေ့ခ်ျ protocol တစ်ခုကိုဒီဇိုင်းဆွဲရန်, အသုံးပြုသူ authentication နှင့်ခွင့်ပြုချက်ထိန်းချုပ်ရေး, ပံ့ပိုးမှုအုပ်စုချက်ပါ
ဆာဗာနှင့် 0 န်ဆောင်မှုခံယူသူအကြားရှိစာများကိုလွှဲပြောင်းရန်ကျွန်ုပ်တို့သည်မက်ဆေ့ခ်ျ protocol ကိုသတ်မှတ်ရန်လိုအပ်သည်။ Protocol တွင်စာအမျိုးအစား, အချက်အလက်ပုံစံများစသည်တို့ပါ 0 င်နိုင်သည်။
အသုံးပြုသူအချက်အလက်နှင့်စနစ်လုံခြုံရေးကိုကာကွယ်ရန်ကျွန်ုပ်တို့သည်အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ အသုံးပြုသူ၏မည်သူမည်ဝါဖြစ်ကြောင်းအတည်ပြုရန်အသုံးပြုသူ authentication တိုတမံများ,
ပုဂ္ဂလိကချက်တင်ချက်အပြင်အုပ်စုလိုက်စကားဝိုင်းသည်လက်ငင်းစာတိုပေးပို့ရေးစနစ်၏အရေးကြီးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အုပ်စုလိုက်စကားဝိုင်းအားအုပ်စုများကို ပူးပေါင်း. ပူးပေါင်း. အုပ်စုများ ပူးပေါင်း. ထွက်ပြေးတိမ်းရှောင်စေပြီးပိုမိုပြည့်စုံသောဆက်သွယ်ရေးကိရိယာများဖြင့်အသုံးပြုသူများကိုထောက်ပံ့ပေးနိုင်သည်။
ဤဆောင်းပါးသည် PHP ကို အသုံးပြု. websocket server ကိုတီထွင်ရန်အခြေခံအဆင့်များကိုမိတ်ဆက်ပေးပြီးအစွမ်းထက်။ စိတ်ကြိုက်ပြုပြင်ထားသောလက်ငင်းစာတိုပေးပို့ရေးစနစ်တစ်ခုဖန်တီးရန်အကြံပြုချက်များကိုအဆိုပြုထားသည်။ Websocket protocol ကိုနားလည်ခြင်းနှင့် PHP ကို အသုံးပြု. websock server ကိုတီထွင်ခြင်းအားဖြင့်, PHP ကိုအသုံးပြုပြီး websound server ကိုတီထွင်ခြင်းအားဖြင့်အချိန်မှန်ဆက်သွယ်ရေးစနစ်ကိုသင်ဖန်တီးနိုင်သည်။