လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Socket_Accept () + Socket_write (): client ကိုတုံ့ပြန်ပါ

Socket_Accept () + Socket_write (): client ကိုတုံ့ပြန်ပါ

M66 2025-05-20

PHP တွင် Socket Programming ဆိုသည်မှာစိတ်ကြိုက်ဆာဗာပရိုဂရမ်များကိုတည်ဆောက်ရန်သင့်တော်သော Socket Programming သည်အခြေခံကွန်ယက်ဆက်သွယ်ရေးနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည် client_acception ကို အသုံးပြု. client_acception များကိုလက်ခံရန်နှင့် client_acception () function မှတဆင့် 0 န်ဆောင်မှုခံယူသူအားတုန့်ပြန်ရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ socket တစ်ခုဖန်တီးပြီးဆိပ်ကမ်းကိုချည်နှောင်ပါ

ပထမ ဦး စွာ societ အရင်းအမြစ်တစ်ခုဖန်တီးရန်နှင့် client တောင်းဆိုမှုများကိုနားထောင်ရန်သတ်မှတ်ထားသော IP address နှင့် port ကိုချည်နှောင်ရန်လိုအပ်သည်။

 <?php
// aTCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    die("socket_create() ဆုံးရှုံး: " . socket_strerror(socket_last_error()) . "\n");
}

// ချည်နေှာင်IPနှင့် ports,假设ချည်နေှာင်本地IPနှင့် ports8080
$bind = socket_bind($socket, "0.0.0.0", 8080);
if ($bind === false) {
    die("socket_bind() ဆုံးရှုံး: " . socket_strerror(socket_last_error($socket)) . "\n");
}

2 ။ ဆက်သွယ်မှုများကိုနားထောင်ပြီးလက်ခံပါ

Binding အောင်မြင်ပြီးနောက် Socket_listen () ကို နားထောင်ရန် Clish_Accepte () ကို အသုံးပြု. Socket_Accept () ကို အသုံးပြု. Socket_Accept () ကိုအသုံးပြုပါ။

 // စောင့်ကြည့်လေ့လာရေးစတင်ပါ,အများဆုံးခွင့်ပြု5ဆက်သွယ်မှုများအတွက်တန်းစီ
socket_listen($socket, 5);
echo "ဆာဗာစတင်ခြင်း,client connection ကိုစောင့်ဆိုင်း...\n";

while (true) {
    // 阻塞client connection ကိုစောင့်ဆိုင်း
    $clientSocket = socket_accept($socket);
    if ($clientSocket === false) {
        echo "socket_accept() ဆုံးရှုံး: " . socket_strerror(socket_last_error($socket)) . "\n";
        continue;
    }

    echo "client ကိုချိတ်ဆက်ထားသည်\n";

3 ။ client ကိုတောင်းဆိုခြင်းနှင့်တုံ့ပြန်မှုပေးပို့ပါ

client_read () ကိုဖတ်ရှုနိုင်ပြီး client_Read () ကိုဖတ်ရှုနိုင်ပြီး client ကို socket_write () ကိုတုန့်ပြန်နိုင်သည်။ ဥပမာအားဖြင့်, ရိုးရှင်းသောကြိုဆိုပါတယ်။

     // client data ကိုဖတ်ပါ,အများဆုံးဖတ်ပါ1024ဒရယ်
    $input = socket_read($clientSocket, 1024);
    echo "တစ် ဦး client ကိုမက်ဆေ့ခ်ျကိုလက်ခံရရှိခဲ့သည်: $input\n";

    // တုံ့ပြန်မှုဒေတာပေးပို့ပါ
    $response = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်m66.netဆာဆာ!\n";
    socket_write($clientSocket, $response, strlen($response));

    // Client Convice Connection
    socket_close($clientSocket);
}

4 ။ ဆာဗာ Socket ကိုပိတ်ပါ

ဆာဗာကိုပိတ်ထားရန်လိုအပ်သည့်အခါအရင်းအမြစ်ကိုထုတ်လွှတ်ရန် Socket_close () ကိုခေါ်ပါ။

 socket_close($socket);

အကျဉ်းချုပ်

အထက်ပါကုဒ်သည်ရိုးရှင်းသော PPP Socket-based server ဥပမာတစ်ခုကိုပြသသည်။

  • Socket ကိုဖန်တီးရန် Socket_create () ကို သုံးပါ။

  • IP နှင့် port ကိုချည်နှောင်ရန် Socket_bind () ကို သုံးပါ။

  • နားထောင်ခြင်းစတင်ရန် Socket_listen () ကို သုံးပါ။

  • client_Accept () client connection ကိုစောင့်ဆိုင်းရန် () ကိုအသုံးပြုပါ။

  • client ကိုမှအချက်အလက်တုံ့ပြန်မှုများကိုပေးပို့ရန် Socket_write () ကို သုံးပါ။

ဤနည်းအားဖြင့် Php Php Function Socket Programming မှတဆင့်အခြေခံ TCP server တစ်ခုတည်ဆောက်နိုင်ပြီး client connection များနှင့်ဆက်သွယ်ရေးများကိုကိုင်တွယ်နိုင်သည်။