PHP ၏ CLI (command line interface) mode တွင် Socket_accept () function ကိုသုံးနိုင်သည်။ ၎င်းသည် PHP ကို အသုံးပြု. PHP ကို အသုံးပြု. PHP ကို အသုံးပြု. PHP ကို အသုံးပြု. PHP ကို အသုံးပြု. တုံ့ပြန်မှုများကိုလက်ခံရန်ခွင့်ပြုသည်။ PHP သည် 0 န်ဆောင်မှုများကိုရိုးရာသဘောဖြင့်တည်ဆောက်ရန် ဦး စားပေးဘာသာစကားမဟုတ်သော်လည်း၎င်းသည်ပေါ့ပါးသော 0 န်ဆောင်မှုများကိုအလွယ်တကူစမ်းသပ်ရန်သို့မဟုတ်တည်ဆောက်ရန်ခွင့်ပြုရန် APIs ကိုအလုံအလောက်ပေးထားသည်။
Network 0 န်ဆောင်မှုတစ်ခုမချခင်အောက်ပါ PHP socket function များကိုသင်နားလည်ရန်လိုအပ်သည်။
Socket_create () : Socket Resourt ကိုဖန်တီးပါ။
Socket_bind () : socket ကို IP လိပ်စာနှင့်ဆိပ်ကမ်းသို့ချည်နှောင်ထားသည်။
Socket_listen () : အဝင်ဆက်သွယ်မှုများကိုနားထောင်ပါ။
Socket_Accept () - ဆက်သွယ်မှုတောင်းဆိုမှုကိုလက်ခံသည်။
Socket_read () / Socket_write () - ဒေတာများကိုလက်ခံရရှိရန်နှင့်ပို့ရန်အသုံးပြုသည်။
Socket_Close () ဆက်သွယ်မှုကိုပိတ်ပါ။
Socket_Accept ကို အသုံးပြု. တည်ဆောက်ထားသောရိုးရှင်းသော PHP TCP ဆာဗာ၏ဥပမာတစ်ခုမှာ () ။
<?php
$host = "0.0.0.0";
$port = 9000;
// socket တစ်ခုဖန်တီးပါ
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($sock === false) {
die("socket_create() failed: " . socket_strerror(socket_last_error()) . "\n");
}
// လိပ်စာနှင့်ဆိပ်ကမ်းသို့ချည်နှောင်ခြင်း
if (!socket_bind($sock, $host, $port)) {
die("socket_bind() failed: " . socket_strerror(socket_last_error($sock)) . "\n");
}
// စောင့်ကြည့်လေ့လာရေးစတင်ပါ
if (!socket_listen($sock, 5)) {
die("socket_listen() failed: " . socket_strerror(socket_last_error($sock)) . "\n");
}
echo "ဆာဗာစတင်သည်,ဆိပ်ကမ်းကိုနားထောင်ပါ $port...\n";
while (true) {
// ဆက်သွယ်မှုကိုလက်ခံပါ
$client = socket_accept($sock);
if ($client === false) {
echo "socket_accept() failed: " . socket_strerror(socket_last_error($sock)) . "\n";
continue;
}
// client ကိုတောင်းဆိုမှုကိုဖတ်ပါ
$input = socket_read($client, 1024);
echo "တောင်းဆိုမှုကိုလက်ခံရရှိခဲ့သည်:" . trim($input) . "\n";
// တုံ့ပြန်မှုအကြောင်းအရာတည်ဆောက်ပါ
$response = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် m66.net စမ်းသပ်ခြင်း 0 န်ဆောင်မှု!မင်းပို့လိုက်တာက:$input\n";
// client ကိုပြန်သွားပါ
socket_write($client, $response, strlen($response));
// Client Convice Connection
socket_close($client);
}
// အဓိက socket ကိုပိတ်ပါ(သီအိုရီအရ၎င်းကိုမည်သည့်အခါကမျှဖြင့်ပြုလုပ်မည်မဟုတ်)
socket_close($sock);
အထက်ပါကုဒ်ကို server.php အဖြစ်သိမ်းပြီး command line မှတဆင့် run ပါ။
php server.php
ဤ script သည် port 9000 ကိုနားထောင်ပြီး 0 န်ဆောင်မှုခံယူသူကိုချိတ်ဆက်ရန်စောင့်ဆိုင်းမည်။ ဆာဗာနှင့်ချိတ်ဆက်ရန် Telnet သို့မဟုတ်အခြား TCP client Tools များကိုသုံးနိုင်သည်။
telnet 127.0.0.1 9000
မည်သည့်စာသားနှင့်နှိပ်ခြင်းမပြုပြီးနောက်, ဆာဗာသည်စာသားကိုကြိုဆိုသောသတင်းစကားဖြင့်စာသားကိုပဲ့တင်ထပ်လိမ့်မည်။
PHP တွင် sockets extension ကို Enable လုပ်ထားပါစေ ( PHP -M မှတစ်ဆင့်စစ်ဆေးနိုင်သည်)
0 န်ဆောင်မှုသည်တစ်ကိုယ်ရေချည်မျှင်တစ်ခုဖြစ်ပြီးတစ်ကြိမ်လျှင်တစ်ခုသာဆက်သွယ်မှုကိုသာလုပ်ဆောင်နိုင်သည်။ ဆက်သွယ်မှုမျိုးစုံကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ရန်လိုအပ်ပါက PCNTL_Fork () ကို သုံးနိုင်သည်သို့မဟုတ် SWOOLE ကဲ့သို့သောပရော်ဖက်ရှင်နယ် 0 န်ဆောင်မှုများကိုသင်အသုံးပြုနိုင်သည်။
ဤသို့သောရိုးရှင်းသောအကောင်အထည်ဖော်မှုကိုမသုံးပါနှင့်, ၎င်းတွင်လုံခြုံရေးနှင့်အမှားသည်းခံမှုမရှိခြင်းမရှိပါ။
PHP သည် Network 0 န်ဆောင်မှုဖွံ့ဖြိုးတိုးတက်မှုအတွက်အဓိကဘာသာစကားမဟုတ်သော်လည်းထိုကဲ့သို့သော socket socket social social social sections များကိုအသုံးပြုနိုင်သည်။
ရိုးရှင်းသော debugging tool ကို
LAN ဒေတာထုတ်လွှင့်ခြင်းနှင့် reception 0 န်ကြီးဌာန
စိတ်ကြိုက် protocols ၏ရှေ့ပြေးပုံစံ
Non-web စနစ်များနှင့်အတူဒေတာများဖလှယ်ခြင်း (ထိုကဲ့သို့သောဟာ့ဒ်ဝဲပစ္စည်းများကဲ့သို့သော)