PHP Network Programming, Socket_Ceate () နှင့် Socket_aceate ()) နှင့် Socket_aceCception () သည်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ အထူးသဖြင့် TCP သို့မဟုတ် UDP အပေါ် အခြေခံ. server-side applications များတည်ဆောက်ရာတွင်ဖြစ်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအခြေခံအားဖြင့်အခြေခံလုပ်ဆောင်မှုများနှင့်အသုံးပြုမှုကိုအသေးစိတ်မိတ်ဆက်ပေးပြီး၎င်းတို့ကိုရိုးရှင်းသော server-side program ကိုအကောင်အထည်ဖော်ရန်မည်သို့အတူတကွအသုံးပြုနိုင်သည်ကိုပြပါလိမ့်မည်။
ကွန်ယက်ဆက်သွယ်ရေးအတွက် Socket Socket Socket Socket Society ကိုဖန်တီးရန် Socket_create () ကိုအသုံးပြုသည်။ ၎င်းသည် Network Programming ဖြစ်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
resource socket_create ( int $domain , int $type , int $protocol )
$ ဒိုမိန်း - AF_inT (IPv4), AF_int6 (IPv6 (IPv6) နှင့် af_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် AF_int6 (IPv6) နှင့် af_int6 (IPv6) နှင့် AF_Ant (IPv6) ဖြစ်သည်။
$ type : Socket အမျိုးအစားကိုသတ်မှတ်ပါ။ ဘုံအမျိုးအစားများသည် Sock_Stream (TCP streaming connection), sock_dgram (UDP Datagram) ဖြစ်သည်။
$ protocol : တိကျသော protocol ကိုသတ်မှတ်သည်။ များသောအားဖြင့် TCP သည် Sol_TCP နှင့် UDP ကို အသုံးပြုသည်။
ဖန်တီးမှုအောင်မြင်သောအခါ societ အရင်းအမြစ်တစ်ခုပြန်ပို့ပြီးပျက်ကွက်သည့်အခါ မှားယွင်းသော နောက်သို့ပြန်ပို့သည်။
ဥပမာ -
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
die("ဖန်တီး socket ဆုံးရှုံး: " . socket_strerror(socket_last_error()));
}
Socket_Accept () သည် socket ရှိ client connection များကို socket ရှိ computer connection များကိုလက်ခံရန်အသုံးပြုသည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံဖြစ်ပါတယ်:
resource socket_accept ( resource $socket )
Parameter $ socket သည် socket_create () ဖြင့်ဖန်တီးထားသော socket ကိုဖန်တီးပြီးနားထောင်သည်။
ခေါ်ဆိုမှုအပြီးတွင် client connection တောင်းဆိုမှုတစ်ခုရှိပါက client နှင့်ဆက်သွယ်ရန် Societ Reface အသစ်တစ်ခုကိုပြန်ပို့သည်။ အကယ်. မအောင်မြင်ပါက မှားယွင်းစွာ ပြန်လာသည်။
ဆာဗာကို 0 န်ဆောင်မှုခံယူသူများ၏တောင်းဆိုမှုများကိုနားထောင်ရန်နှင့်ဆက်သွယ်မှုများကိုလက်ခံရရှိရန် 0 န်ဆောင်မှုခံယူရန်ပုံမှန်လုပ်ဆောင်မှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
socket တစ်ခုဖန်တီးပါ
Socket_create () ကို သုံး. Socket တစ်ခုကိုဖန်တီးပါ။
Bind လိပ်စာနှင့်ဆိပ်ကမ်း <br> <br> ဒေသခံ IP နှင့် port ကို socket ကိုချိတ်ဆွဲရန် Socket_bind () ကိုသုံးပါ။
Socket ကိုနားထောင်ပါ
socket_listen () ကိုအသုံးပြုပါ။
ဆက်သွယ်ရေးကိုလက်ခံပါ client ကိုပိတ်ဆို့ရန်နှင့်အောင်မြင်မှုအပြီး socket အသစ်ကိုပြန်ပို့ရန် socket_accept () ကို အသုံးပြုပါ။
ဒေတာကိုဖတ်ပြီးရေးပါ socket အသစ်တစ်ခုမှတစ်ဆင့် client နှင့်ဆက်သွယ်ခြင်း။
ဆက်သွယ်မှုကိုပိတ်ပါ ဆက်သွယ်ရေးပြီးဆုံးပြီးနောက် socket ကိုပိတ်ပါ။
ဤတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. ရိုးရှင်းသော TCP ဆာဗာကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုပြသသောပြည့်စုံသောဥပမာတစ်ခုမှာ -
<?php
// ဖန်တီး TCP socket
$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($server === false) {
die("ဖန်တီး socket ဆုံးရှုံး: " . socket_strerror(socket_last_error()));
}
// ချည်နေှာင် IP နှင့် ports
if (!socket_bind($server, "0.0.0.0", 8080)) {
die("ချည်နေှာင် socket ဆုံးရှုံး: " . socket_strerror(socket_last_error($server)));
}
// စောင့်ကြည့်လေ့လာရေးစတင်ပါ,အများဆုံးခွင့်ပြု5ဆက်သွယ်မှုများအတွက်တန်းစီ
if (!socket_listen($server, 5)) {
die("监听ဆုံးရှုံး: " . socket_strerror(socket_last_error($server)));
}
echo "ဆာဗာစတင်သည်,ဆက်သွယ်မှုကိုစောင့်ဆိုင်း...\n";
while (true) {
// client connection ကိုပိတ်ဆို့ခြင်းနှင့်စောင့်ဆိုင်းခြင်း
$client = socket_accept($server);
if ($client === false) {
echo "接收连接ဆုံးရှုံး: " . socket_strerror(socket_last_error($server)) . "\n";
continue;
}
// client data ကိုဖတ်ပါ
$input = socket_read($client, 1024);
echo "client ကိုဒေတာကိုလက်ခံရရှိခဲ့သည်: $input\n";
// client ကိုတစ် ဦး တုံ့ပြန်မှုပေးပို့ပါ
$response = "Hello from m66.net server!";
socket_write($client, $response, strlen($response));
// Client Convice Connection
socket_close($client);
}
socket_close($server);
?>
ဒီဥပမာမှာ -
ဆာဗာသည်ဒေသဆိုင်ရာအိုင်ပီလိပ်စာအားလုံး၏ port 8080 ကို port 8080 သို့ချည်နှောင်ထားသည်။
client connection တောင်းဆိုမှုများကိုလက်ခံရရှိရန် Socket_Accept () ကို သုံး. အောင်မြင်မှုအပြီးတွင် socket အသစ်တစ်ခုကိုပြန်ပို့ပါ။
client မှပေးပို့သောအချက်အလက်များကိုဖတ်ပြီးရိုးရှင်းသောတုန့်ပြန်မှုကိုပြန်ပို့ပါ။
client နှင့်ဆက်သွယ်မှုကိုပိတ်ပြီးဆက်သွယ်မှုအသစ်တစ်ခုကိုဆက်လက်စောင့်ဆိုင်းပါ။
Socket_create () ကို အခြေခံဆက်သွယ်ရေးလမ်းကြောင်းကိုဖန်တီးရန်အသုံးပြုသည်။
socket_accept () client connections များကို client connections များနှင့် client နှင့်အပြန်အလှန်ဆက်သွယ်သော Sockets များကိုပြန်ပို့ရန်ဆာဗာကအသုံးပြုသည်။
နှစ်ခုပေါင်းစပ်မှုသည် TCP server-side programming ၏အခြေခံဖြစ်သည်။
အမှန်တကယ် application များအရအမှားအယွင်းများ, တစ်ပြိုင်နက်တည်းဆက်သွယ်မှုများနှင့်အချက်အလက်ပို့ခြင်းဆိုင်ရာအသေးစိတ်အချက်အလက်များလည်းလိုအပ်သည်။
ဤဆောင်းပါးသည် PHP တွင် Socket-based network 0 န်ဆောင်မှုများကိုအလွယ်တကူတည်ဆောက်ရန် Socket_create () socket_acce_acce_acception_acception_acception ()) ကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။