PHP, Socket_last_Error () socket_clear_error () socket_clear_Error () တွင်ပရိုဂရမ်းမင်းကွန်ယက်များသည်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်ပြီးအဓိကအားဖြင့် socket connection များရှိအမှားများကိုစီမံခန့်ခွဲရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. developer များက developer များဖမ်းရန်နှင့်အမှားအယွင်းများကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးသူတို့၏အစီအစဉ်များအားစိတ် 0 င်စားမှုကိုတိုးတက်စေသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခု၏လုပ်ဆောင်မှုများနှင့်မှန်ကန်သောအသုံးပြုမှုနည်းလမ်းများကိုအသေးစိတ်ရှင်းပြပြီးနမူနာကုဒ်မှတဆင့်နားလည်မှုကိုပိုမိုနက်ရှိုင်းစေသည်။
Socket_last_Error (အရင်းအမြစ် $ socket = null): Int
ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော socket connection အတွက်နောက်ဆုံးအမှားကုဒ်ကိုရရှိရန်အသုံးပြုသည်။ socket parameter မျှမပေးပါကကမ္ဘာလုံးဆိုင်ရာနောက်ဆုံးအမှားကုဒ်ကိုပြန်လည်ရောက်ရှိပါက။ ဤအမှားကုဒ်သည်ကွဲပြားသောအမှားအမျိုးအစားကိုကိုယ်စားပြုသောကိန်းတစ်ခုဖြစ်သည်။
Socket_Close_ERRORERORE (Resources) ကိုအရင်းအမြစ် $ socket = null): ပျက်ပြယ်
ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော socket connection ပေါ်ရှိအမှားအယွင်းကိုရှင်းလင်းရန်အသုံးပြုသည်။ socket parameter သည်မကုန်တော့ပါကကမ္ဘာလုံးဆိုင်ရာအမှားအယွင်းကိုရှင်းလင်းပါ။ အမှားကိုရှင်းလင်းပြီးနောက် Societ_last_Error () ကိုထပ်မံပြန်ပို့ပါလိမ့်မည်။ အမှားမရှိပါ။
Socket Operations များကိုလုပ်ဆောင်သောအခါအမှားမက်ဆေ့ခ်ျကို socket ၏အမှားအယွင်းတွင်ထားရှိမည်။ အကယ်. ၎င်းကိုအချိန်မီမရှင်းလင်းပါက socket_last_Error () တွင်နောက်ဆက်တွဲခေါ်ဆိုမှုသည်ယခင်အမှားကိုဆက်လက်ပြန်ပို့ပေးလိမ့်မည်။
ထို့ကြောင့်အကြံပြုထားသောချဉ်းကပ်နည်းမှာ -
လက်ရှိအမှားအယွင်းရရန်ပထမ ဦး ဆုံးခေါ်ဆိုမှု socket_last_Error () ။
အမှားကုဒ်အရသက်ဆိုင်ရာအပြောင်းအလဲနဲ့ထွက်သယ်ဆောင်သည်။
နောက်ဆက်တွဲခေါ်ဆိုမှုများသည်အမှားအယွင်းအသစ်ကိုတိကျစွာရယူနိုင်ရန်သေချာစေရန်အမှားအယွင်းများကိုထုတ်ဖော်ပြီးနောက် အပြောင်းအလဲ ပြီးစီးခဲ့သည်။
<?php
// a TCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "ဖန်တီး socket ဆုံးရှုံး,အမှားကုဒ်: " . socket_last_error() . "\n";
socket_clear_error(); // Clear Global Error Status ကိုရှင်းလင်းပါ
exit;
}
// သတ်မှတ်ထားသော server နှင့် port ကိုချိတ်ဆက်ရန်ကြိုးစားပါ
$result = socket_connect($socket, 'm66.net', 80);
if ($result === false) {
$errorCode = socket_last_error($socket);
echo "连接ဆုံးရှုံး,အမှားကုဒ်: {$errorCode}\n";
// 根据အမှားကုဒ်做不同处理,ဥပမာအားဖြင့်, ထပ်မံကြိုးစားပါသို့မဟုတ်သစ်ထုတ်လုပ်ခြင်းကိုကြိုးစားပါ
// ...
socket_clear_error($socket); // ရှင်းလင်းသော socket အမှားအယွင်း,နောက်ဆက်တွဲစစ်ဆင်ရေးကိုထိခိုက်ခြင်းမှရှောင်ကြဉ်ပါ
} else {
echo "အောင်မြင်စွာဆက်သွယ်မှု!\n";
}
// ရုပ်သိမ်းခြင်း socket
socket_close($socket);
?>
အမှားအယွင်းသည် Socket Resource သို့ရောက်နေပြီဖြစ်သော ကြောင့်အထူးသဖြင့် Socket Connection Powarios တွင်ကမ္ဘာလုံးဆိုင်ရာအမှားအယွင်းများကိုအသုံးပြုခြင်းကိုရှောင်ရှားရန်ခေါ်ဆိုသည့်အခါသက်ဆိုင်ရာ socied အရင်းအမြစ်ကိုအတိအလင်းဖြတ်ကျော်ရန်အကောင်းဆုံးဖြစ်သည်။
အမှားအယွင်းများကိုထပ်ခါတလဲလဲဖတ်ရှုခြင်းနှင့်တရားစီရင်ခြင်းအမှားများကိုဖြစ်ပေါ်စေသည်ကိုရှောင်ရှားရန် အချိန်အတွက်အမှားအယွင်းကိုအချိန်မီရှင်းလင်းပါ ။
အကယ်. သင်သည်အမှားအယွင်းကိုပြုပြင်ပြီးနောက်ပြည်နယ်ကိုမရှင်းလင်းပါက socket_last_Error () ကိုခေါ်ယူရန်နောက်ဆက်တွဲခေါ်ဆိုမှုများသည်ပရိုဂရမ်၏ယုတ္တိဗေဒကိုအကျိုးသက်ရောက်စေနိုင်သည်။
Socket_last_Error () လက်ရှိ socket ၏နောက်ဆုံးအမှားကုဒ်ကိုသုံးရန်။
အမှားအယွင်းကိုရှင်းလင်းရန် အမှားအယွင်း ကိုထုတ်ယူပြီးနောက်,
Global နှင့် Local Error Errors ပြည်နယ်များကိုရှုပ်ထွေးစေရန်သတ်သတ်မှတ်မှတ် societ အရင်းအမြစ်များကိုဖြတ်သန်းပါ။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည် PHP Socket ပရိုဂရမ်းပရိုဂရမ်းကိုပိုမိုအားကောင်းသည့်အစီအစဉ်များကိုပိုမိုခိုင်မာစေပြီး debugg လုပ်ရန်လွယ်ကူစေသည်။