လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Websocket ဖွံ့ဖြိုးတိုးတက်မှုဥပမာ - အချိန်နှင့်တပြေးညီဆက်သွယ်ရေးလုပ်ဆောင်မှုအကောင်အထည်ဖော်မှုဆိုင်ရာအသေးစိတ်သင်ခန်းစာ

PHP Websocket ဖွံ့ဖြိုးတိုးတက်မှုဥပမာ - အချိန်နှင့်တပြေးညီဆက်သွယ်ရေးလုပ်ဆောင်မှုအကောင်အထည်ဖော်မှုဆိုင်ရာအသေးစိတ်သင်ခန်းစာ

M66 2025-06-16

1 ။ နိဒါန်း

TCP protocol ကို အခြေခံ. TCP protocol ကို အခြေခံ. TCP protocol ကို အခြေခံ. TCP Protocol ကို အခြေခံ. TCP Protocol ကို အခြေခံ. TBOCT Protocol ကို အခြေခံ. Full-Duplex ဆက်သွယ်ရေး protocol တစ်ခုဖြစ်သည်။ Web Development တွင်, အချိန်နှင့်တပြေးညီစကားပြောခြင်း, ဒေတာပြသမှုနှင့်အခြားလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်ဝက်ဘ်ဆိုက်များကိုအသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြပြီးဝက်ဘ်ဆိုက်ပိတ်ခြင်းလုပ်ငန်းများတည်ဆောက်ရန်နှင့်တိကျသောဥပမာများမှတဆင့်အကောင်အထည်ဖော်မှုဖြစ်စဉ်ကိုသရုပ်ပြပါမည်။

2 ။ ပတ်ဝန်းကျင် configuration ကို

PHP တွင် websocket function ကိုအသုံးပြုသောအခါအောက်ပါအခြေအနေများကိုဖြည့်ဆည်းပေးရမည်။

  1. PHP ဗားရှင်း> = 5.3
  2. PHP အတွက် SWOOLE extension ကို install လုပ်ပါ။ PECL install လုပ်ပါ။
  3. websoet server ၏ port နံပါတ်ကိုသတ်မှတ်ပါ (အသုံးအများဆုံးဆိပ်ကမ်း 8080 သို့မဟုတ်အခြား Unoccupeded Ports)

3 ။ ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်

အောက်ပါတို့သည်တိကျသောလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်အတွက်အသေးစိတ်လုပ်ငန်းစဉ်ဖြစ်သည်။

websocket server တစ်ခုဖန်တီးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် websocket server တစ်ခုကိုဖန်တီးရန်, သတ်မှတ်ထားသော port ကိုနားထောင်ပြီး client connection များ, မက်ဆေ့ခ်ျများနှင့်အခြားဖြစ်ရပ်များကိုကိုင်တွယ်ရန်လိုသည်။ SWOOLEESTERERVERSERVERS ကို SWOOLE Extension ဖြင့် အသုံးပြု. အကောင်အထည်ဖော်နိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

<?php
$server = new SwooleWebSocketServer('0.0.0.0', 8080);

$server->အပေါ် (&#39;open&#39;, function ကို ($ ဆာဗာ, $ တောင်းဆိုမှု) {
    Echo "Connection အသစ် - {$ quertion-> fd} \ n";
});

$ ဆာဗာ -> On (&#39;Message&#39;, function ($ server, $ frame) {
    $ ဆာဗာ -> Push ($ frame-> fd "ဆာဗာကိုလက်ခံရရှိ: {$ frame-> ဒေတာ}});
});

$ ဆာဗာ -> On (&#39;Close), function ($ server, $ fd) {
    echo "connection ကိုပိတ်လိုက်: {$ fd} \ n";
});

$ ဆာဗာ -> စတင် ();

အထက်ဖော်ပြပါကုဒ်သည် port 8080 ကိုနားထောင်ပေးသော websocket server တစ်ခုဖန်တီးသည်။ ဆက်သွယ်မှုအသစ်တစ်ခုရှိသည့်အခါတိုင်း connection id ကိုပုံနှိပ်ထုတ်ဝေသည်။ မက်ဆေ့ခ်ျကိုလက်ခံရရှိသည့်အခါမက်ဆေ့ခ်ျကို client ကိုပြန်ပို့သည်။ ဆက်သွယ်မှုကိုပိတ်လိုက်သောအခါ connection id ကိုပုံနှိပ်ထုတ်ဝေသည်။

တိကျသောလုပ်ဆောင်ချက်များကိုကိုင်တွယ်ပါ

သီးခြားဝက်ဘ်ဆိုက်ဆာဗာပေါ်တွင်တိကျသောလုပ်ဆောင်ချက်များကိုကိုင်တွယ်သည့်အခါဖွံ့ဖြိုးရေးလုပ်ငန်းများအရဖွံ့ဖြိုးရေးကိုပြုလုပ်နိုင်သည်။ အောက်ပါဥပမာသည်ရိုးရှင်းသောတိုက်ရိုက်စကားပြောခြင်းလုပ်ဆောင်ချက်တစ်ခုကိုအကောင်အထည်ဖော်သည်။

<?php
$server = new SwooleWebSocketServer('0.0.0.0', 8080);
$connections = [];

$server->အပေါ် (&#39;open&#39;, function ($ server, $ တောင်းဆိုမှု) ကိုအသုံးပြုပါ (& $ ဆက်သွယ်မှု)
    $ ဆက်သွယ်မှုများ [$ request-> FD] = $ တောင်းဆိုမှု -> FD;
    Echo "Connection အသစ် - {$ quertion-> fd} \ n";
});

$ ဆာဗာ -> On (&#39;Message&#39;, function ($ server, $ frame) အသုံးပြုမှု (& $ ဆက်သွယ်မှု) {
    foreach ($ FD အဖြစ် $ ဆက်သွယ်မှု) {
        $ ဆာဗာ -> Push ($ FD "အသုံးပြုသူ {fd" အသုံးပြုသူ {frame-> fd} က {$ frame-> fd fr fid} ကဤသို့ဆိုသည် - {$ frame-> အချက်အလက်} ")
    }
});

$ ဆာဗာ -> On (&#39;Close), function ($ server, $ fd) အသုံးပြုမှု (& $ ဆက်သွယ်မှု)
    unset ($ ဆက်သွယ်မှု [$ fd]);
    echo "connection ကိုပိတ်လိုက်: {$ fd} \ n";
});

$ ဆာဗာ -> စတင် ();

ဤကုဒ်တွင်ဆက်သွယ်မှုကိုဖွင့်သည့်အခါတိုင်းဆက်သွယ်မှု၏ ID ကို Array တွင်သိမ်းထားလိမ့်မည်။ မက်ဆေ့ခ်ျကိုလက်ခံရရှိသည့်အခါမက်ဆေ့ခ်ျကိုချိတ်ဆက်ထားသောဖောက်သည်များအားလုံးသို့ပေးပို့လိမ့်မည်။ ဆက်သွယ်မှုကိုပိတ်ထားသည့်အခါသက်ဆိုင်ရာဆက်သွယ်မှု ID ကိုခင်းကျင်းမှုမှဖျက်ပစ်လိမ့်မည်။

4 ။ WebSound function ကိုသုံးပါ

ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်ပြီးဆုံးသွားသောအခါ, Websocket ဆက်သွယ်မှုနှင့်မက်ဆေ့ခ်ျပို့ခြင်းကို browser သို့မဟုတ်အခြားကိရိယာများမှတစ်ဆင့်ပြုလုပ်နိုင်သည်။ JavaScript ကိုအသုံးပြုပြီးမက်ဆေ့ခ်ျများချိတ်ဆက်ခြင်းနှင့်ပို့ခြင်း၏ဥပမာတစ်ခုမှာ -

var ws = websces အသစ် (&#39;WS: // localhost: 8080&#39;);

ws.Onopen = function () {)
    console.log (&#39;ချိတ်ဆက်&#39;);
};

ws.Onmessage = function ကို (ဖြစ်ရပ်) {
    console.log (&#39;+ + Event.Data);
};

ws.Onclose = function () {)
    console.log (&#39;အဆက်ပြတ်&#39;);
};

ws.send (&#39;ဟဲလို, websocke&#39; &#39;;

ဤကုဒ်သည်ကွန်ယက်ချိတ်ဆက်မှုတစ်ခုဖန်တီးပေးပြီး Connection ည့်ခံပွဲအဖွင့်, သတင်းလက်ခံခြင်း, ဆက်သွယ်မှုပိတ်ခြင်း,

5 ။ အကျဉ်းချုပ်

ဤဆောင်းပါးသည် WellockeSture functions များကိုတီထွင်ရန် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြပြီး Live Chat လုပ်ဆောင်ချက်များကိုဥပမာအနေဖြင့်အသုံးပြုသည်။ အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန် developer များက teachery technology technology မှတစ်ဆင့် developer များကအချိန်နှင့်တပြေးညီနှစ်လမ်းသွားဒေတာထုတ်လွှင့်မှုကိုနားလည်သဘောပေါက်နိုင်သည်။ ဤဆောင်းပါးသည်စာဖတ်သူများသည်စာဖတ်သူများသည် PHP webscound နည်းပညာကိုနားလည်ရန်နှင့်ကျင့်သုံးရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။