PHP တွင် Socket ဆိုသည်မှာ client များနှင့်ဆာဗာများအကြားဆက်သွယ်မှုများကိုဖွဲ့စည်းထားသောကွန်ယက်ဆက်သွယ်ရေးအတွက်ယန္တရားတစ်ခုဖြစ်သည်။ TCP / IP ဆက်သွယ်မှုများကိုကိုင်တွယ်ရန် Socketets ကိုအသုံးပြုသောအခါဆက်သွယ်မှုကိုပိတ်ခြင်းကိုကျွန်ုပ်တို့မကြာခဏထိန်းချုပ်ရန်လိုအပ်သည်။ Socket_shutDownDown () သည် PHP တွင်ကြွေးကြော်သော socket connection တစ်ခုအားဖြည့်စွက်ထားသော function တစ်ခုဖြစ်ပြီးသတ်မှတ်ထားသော socket connection ကိုအပြီးသတ်ထုတ်လွှင့်ခြင်းနှင့်ပုံမှန်မဟုတ်သောဆက်သွယ်မှုပိတ်သိမ်းမှုကြောင့်အရင်းအမြစ်စွန့်ပစ်ပစ္စည်းများကိုရှောင်ရှားပါ။
ဤဆောင်းပါးသည်မသင့်လျော်သောနိဂုံးများကြောင့်ဖြစ်ပေါ်လာသောအလားအလာရှိသောပြ problems နာများကိုရှောင်ရှားရန် Socket_shutDown () ကို အသုံးပြုရန်အတိမ်အနက်ကိုလေ့လာနိုင်သည်။
PHP တွင်ဆက်သွယ်ပြောဆိုရန် socket များအသုံးပြုသောအခါ, များသောအားဖြင့်အောက်ပါအဆင့်များကိုဖြတ်သန်းလေ့ရှိသည်။
Socket Create : Socket_create မှတဆင့် Socket Resourt ကိုဖန်တီးပါ။
ချည်နှောင်ထားသော socket : socket_bind မှတဆင့် IP လိပ်စာနှင့် port နံပါတ်ကိုချည်နှောင်ပါ။
ဆက်သွယ်မှုကိုနားထောင်ပါ ။ Socket_listen () ကို စတင်ရန်နားထောင်ခြင်းကိုစတင်ရန်နှင့် client ကိုစတင်ရန်စောင့်ဆိုင်းရန် Socket_listen () ကိုစောင့်ပါ။
Connection ကိုလက်ခံပါ ။ client ၏ connection တောင်းဆိုမှုကို socket_accept () မှတဆင့်လက်ခံပါ။
ဒေတာများကိုဖတ်ရန် / ရေးပါ ။ ဒေတာကိုထုတ်လွှင့်ရန် Socket_read () နှင့် socockwite () ကို သုံးပါ။
Close Socket : ဆက်သွယ်ရေးပြီးစီးပြီးနောက် Socket Connection ကိုပိတ်ရန် Socket_Close () () () () () () ကို ပိတ်ပါ။
ဤဖြစ်စဉ်တွင်လျောက်ပတ်စွာဆက်သွယ်မှုကိုပိတ်ရန်လိုအပ်ပါကကျွန်ုပ်တို့သည် socket_shutdown () ကို သုံးနိုင်သည်။
Socket_shutDown () သည် socket တစ်ခု၏ဖတ်ခြင်းနှင့်ရေးသားခြင်း function ကိုပိတ်ထားရန်အသုံးပြုသည်။ များသောအားဖြင့် Socket_Close () တွင်အသုံးပြုသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool socket_shutdown ( resource $socket [, int $how = 2 ] )
$ socket : ပိတ် socket အရင်းအမြစ်ကိုပိတ်ထားဖို့ညွှန်ပြ။
$ ဘယ်လို - ပိတ်ဖို့နည်းလမ်းကိုသတ်မှတ်ပါ, default 2 ။ နှစ်လိုဖွယ်တန်ဖိုးများ:
0 : socket ၏ရေးထားသော function ကိုပိတ်ပါ။
1 : socket ၏ဖတ် function ကိုပိတ်ပါ။
2 : Dead (Default) ၏ဖတ်ခြင်းနှင့်ရေးခြင်း function ကိုပိတ်ပါ။
connection ကိုပိတ်ရန် Socket_close () ကိုခေါ်ဆိုခြင်းသည်တိုက်ရိုက်ဒေတာများကိုအပြည့်အဝလွှဲပြောင်းရန်ပျက်ကွက်စေနိုင်သည်။ Socket_shutdown () သေချာ
client ကို client သို့မဟုတ် server သည်အချက်အလက်များကိုရေးသားပြီးနောက်ဆက်သွယ်မှုကိုသာစတင်သည်။
ပိုမိုကောင်းမွန်သောပိတ်ပစ်မှုကိုထိန်းချုပ်နိုင်ပြီးဖတ်ရှုခြင်းနှင့်လုပ်ငန်းလည်ပတ်မှုများကိုသီးခြားစီပြုလုပ်နိုင်သည်။
အခြားပါတီသည်သင့်လျော်သောသန့်ရှင်းရေးလုပ်ငန်းလုပ်ရန်အချိန်ပေးရန်အချိန်ရှိစေရန်အခြားအဆုံးတွင်အဆုံးသတ်ရန်ကြိုတင်အကြောင်းကြားပါ။
ဤတွင်ဤနေရာတွင် socket connection ကိုလျောက်ပတ်စွာပိတ်ရန်မည်သို့ဥပမာတစ်ခုဖြစ်သည်။
<?php
// a TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Socket ဖန်တီးမှုပျက်ကွက်:".socket_strerror(socket_last_error());
exit;
}
// သတ်မှတ်ထားသောမှချည်နှောင် IP နှင့် ports
$bind = socket_bind($socket, '127.0.0.1', 8080);
if ($bind === false) {
echo "binding ပျက်ကွက်:".socket_strerror(socket_last_error());
exit;
}
// Client Connections ကိုနားထောင်ပါ
$listen = socket_listen($socket);
if ($listen === false) {
echo "နားထောင်ခြင်းမအောင်မြင်ပါ:".socket_strerror(socket_last_error());
exit;
}
echo "ဆက်သွယ်မှုကိုစောင့်ဆိုင်း...\n";
// ဆက်သွယ်မှုကိုလက်ခံပါ
$client_socket = socket_accept($socket);
if ($client_socket === false) {
echo "ဆက်သွယ်မှုကိုလက်ခံပါ失败:".socket_strerror(socket_last_error());
exit;
}
// Client Message ကိုဖတ်ပါ
$input = socket_read($client_socket, 1024);
echo "မက်ဆေ့ခ်ျကိုလက်ခံရရှိခဲ့သည်:$input\n";
// client ကိုတစ် ဦး တုံ့ပြန်မှုပေးပို့ပါ
socket_write($client_socket, "ဒေတာကိုလက်ခံရရှိခဲ့သည်。\n");
// အသုံးပြု socket_shutdown လျောက်ပတ်သောဆက်သွယ်မှုကိုပိတ်ရန်
socket_shutdown($client_socket, 2); // ဖတ်ပါနှင့်စစ်ဆင်ရေးကိုရေးပါ
socket_close($client_socket); // ဆက်သွယ်မှုကိုလုံးဝပိတ်ပါ
// နောက်ဆုံးတော့ဆာဗာကိုပိတ်ပါ socket
socket_shutdown($socket, 2);
socket_close($socket);
echo "ဆက်သွယ်မှုကိုကြော့ရှင်းသွားပြီ。\n";
?>
0 န်ဆောင်မှုခံယူသူသည်တက်ကြွစွာဆက်သွယ်မှုသည် - 0 န်ဆောင်မှုခံယူသူသည်ဆာဗာပေါ်ရှိဒေတာထုတ်လွှင့်မှုကိုအကျိုးသက်ရောက်ခြင်းမရှိဘဲအချက်အလက်များကိုပေးပို့ခြင်းမပြုဘဲအဆက်ဖြတ်ချင်လျှင် sociec_shutdown () ကိုအချက်အလက်များကိုလက်ခံခြင်းကိုရပ်တန့်ရန် socket_shutdown () ကိုခေါ်နိုင်သည်။
ဆာဗာဘက်မှဆက်သွယ်မှုကိုပိတ်ပါ ။ ဆာဗာသည် 0 န်ဆောင်မှုခံယူသူ၏တောင်းဆိုမှုကိုပြုလုပ်ပြီးနောက်၎င်းသည်အချက်အလက်ရေးသားခြင်းကို ဦး စွာဖွင့်ပြီးဖတ်စစ်ဆင်ရေးကိုပိတ်နိုင်သည်။ server သည် client ကို connection ကိုမပိတ်မီအချက်အလက်အားလုံးကိုလက်ခံရန်လိုအပ်သည်။
sequenception ပြ problem နာ - socket_shutdown ကိုပိတ်လိုက်တဲ့အခါမှာပထမ ဦး ဆုံးဖျော်ဖြေသင့်တယ်, ပြီးတော့ socket_close () ကို ခေါ်သင့်တယ်,
ချို့ယွင်းချက်ကိုင်တွယ်ခြင်း - Socket_shutdown ()) ကို အသုံးပြုသောအခါဖြစ်နိုင်ချေရှိသောအမှားများကိုအချိန်မီကိုင်တွယ်ရန်စစ်ဆင်ရေး၏အဆင့်တစ်ခုစီ၏ပြန်လည်တန်ဖိုးကိုစစ်ဆေးရန်သင်ဂရုပြုသင့်သည်။
Multi-threaded / Multi-connection area environ ိုင် - တစ်ပြိုင်နက်တည်းကွန်ယက်ပတ် 0 န်းကျင်တွင် - ပုံမှန်အားဖြင့် construction deportage သို့မဟုတ် connection or connections or connections or connections များကိုရှောင်ရှားရန်ဂရုပြုသင့်သည်။
Socket_shutDownDown () သည် developer များ socket connection ကိုအလွန်နီးကပ်စွာပိတ်ထားရန်ကူညီပေးသောအလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ Socket_shutDown () ကိုမှန်ကန်သောအသုံးပြုမှု () သည်ကွန်ယက်ဆက်သွယ်ရေး၏တည်ငြိမ်မှုနှင့်ထိရောက်မှုကိုတိုးတက်စေပြီး PHP developer တိုင်းသည်ကျွမ်းကျင်ရန်လိုအပ်သည့်အခြေခံစွမ်းရည်များထဲမှတစ်ခုဖြစ်သည်။