PHP တွင် Network Programming တွင် developer များပါဝင်နိုင်မည့်နေရာတစ်ခုဖြစ်သည်။ Socket Programming သည်ကွန်ယက်ဆက်သွယ်မှုကိုသဘောပေါက်ရန်အဓိကနည်းပညာတစ်ခုဖြစ်သည်။ Socket Connection များရှိအမှားများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်ရန် PHP သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုကိုပေးသည် ။ ဤဆောင်းပါးသည်အသေးစိတ်ကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်သင်ပိုမိုကောင်းမွန်သောနားလည်မှုကိုကူညီရန် Socket_Close_Error () function ကိုအသေးစိတ်ဖော်ပြရန်,
Socket_Close_Error () သည် PHP မှသတ်မှတ်ထားသော socket connection တွင်အမှားအယွင်းများကိုရှင်းလင်းရန် PHP မှပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ကွန်ယက်ဆက်သွယ်ရေးတွင် Socketetets များသည် connection transment, data transmition under_clear_error () သည် ဤအမှားအယွင်းများကိုပြန်လည်စတင်နိုင်ရန်အတွက်အမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။
PHP ဗားရှင်း 7.2.0 ကတည်းကဤလုပ်ဆောင်ချက်ကိုမိတ်ဆက်ခဲ့ပြီး Socket extension ၏အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။
Clear Socket Error Status : Socket တွင်အမှားတစ်ခုဖြစ်သောအခါအမှားအယွင်းများကိုမှတ်တမ်းတင်ထားပြီးနောက်ဆက်တွဲအမှားရှာဖွေခြင်းနှင့်အပြောင်းအလဲနဲ့အကျိုးသက်ရောက်လိမ့်မည်။ Socket_clear_Error () သည်ဤအမှားအလံများကိုရှင်းလင်းနိုင်သည်။
Socket State Restore : ရှုပ်ထွေးသော socket operations များတွင်အမှားအယွင်းသည်အစီအစဉ်ကိုမှားယွင်းစွာမှားယွင်းစွာပြုလုပ်နိုင်သည်။ အမှားကိုရှင်းလင်းပြီးလျှင်ပရိုဂရမ်သည်စာရွက်ကိုထပ်မံဖတ်ရန်နှင့်ရေးသားနိုင်သည်။
Auxiliary debugging : Socket_last_Error () တွင်အသုံးပြုသည်။ ပထမအမှားအယွင်းများကို ဦး စွာအသုံးပြုပါ, ထို့နောက် debug နှင့် positioning ကိုကူညီပေးသည်။
int socket_clear_error(resource $socket)
Parametermer
$ socket : လိုအပ်သော socket အရင်းအမြစ်ကိုရှင်းလင်းရန်ဖြစ်ကြောင်းညွှန်ပြ,
Value ကိုပြန်သွားပါ
REVERS 0 င်အောင်မြင်သောအခါရှင်းလင်းရေးအောင်မြင်သောကြောင်းညွှန်ပြ။
ပျက်ကွက်အပေါ် -1 ပြန်လာ။
အောက်ပါဥပမာသည် Socket_Close_ERRORERRORER () ပြီးနောက်အမှားကိုမည်သို့ရှင်းလင်းရမည်ကိုပြသသည်။
<?php
// a TCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "ဖန်တီး socket ဆုံးရှုံး: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// မတည်ရှိသောဆာဗာတစ်ခုကိုချိတ်ဆက်ရန်ကြိုးစားပါ,အမှားတစ်ခုဖန်တီးပါ
$result = socket_connect($socket, "m66.net", 12345);
if ($result === false) {
$errorCode = socket_last_error($socket);
echo "ဆက်သွယ်မှုအမှား,အမှားကုဒ်: $errorCode,အမှားသတင်းစကား: " . socket_strerror($errorCode) . "\n";
// အမှားအယွင်းကိုရှင်းပါ
$clearResult = socket_clear_error($socket);
if ($clearResult === 0) {
echo "အမှားအယွင်းအခြေအနေရှင်းလင်း。\n";
} else {
echo "အမှားအယွင်းကိုရှင်းပါဆုံးရှုံး。\n";
}
}
// ရုပ်သိမ်းခြင်း socket
socket_close($socket);
?>
Socket Resourt တွင်အမှားတစ်ခုမှသာ Socket_Close_Error () လိုအပ်သည်။
အမှားကိုရှင်းလင်းခြင်းကဆက်သွယ်မှုကိုပြန်လည်ထူထောင်ရန်သို့မဟုတ်နောက်ခံကွန်ယက်ပြ problem နာကိုဖြေရှင်းလိမ့်မည်မဟုတ်ပါ, ၎င်းသည်အမှားအယွင်းကိုပြန်လည်စတင်လိမ့်မည်။
၎င်းကိုကွန်ယက်ချွင်းချက်ကိုင်တွယ်ခြင်းလုပ်ငန်းစဉ်တွင်အသုံးပြုရန်အကြံပြုသည်။ ၎င်းကို socket_last_Error () နှင့် socket_stror () နှင့် socket_stror outscord () နှင့် socket_struror () နှင့် Socket_SteRerror () နှင့် Socket_SteRerror () နှင့် Socket_SteRerror () တွင်အသုံးပြုသည်။
Socket_Close_Error () သည် Socket ၏အမှားအယွင်းကိုရှင်းလင်းပြီးအမှားအယွင်းများကို 0 င်ရောက်ခြင်းကိုရှောင်ရှားနိုင်သည့် PHP socket programming တွင်အထောက်အကူပြုသူဖြစ်သည်။ ၎င်း၏အသုံးပြုမှုကိုကျွမ်းကျင်ခြင်းသည်ကွန်ယက်ဆက်သွယ်ရေးကုဒ်များ၏ကြံ့ခိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။ ဤဆောင်းပါး၏ရှင်းပြချက်နှင့်ဥပမာများကဤလုပ်ဆောင်မှုကိုအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ကွန်ယက်အမှားများကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ရန်သင့်အားခွင့်ပြုရန်ခွင့်ပြုလိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။