လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Socket_Close_Error () နှင့် Socket_Last_Error () လုပ်ဆောင်ချက်များကိုမည်သို့မှန်ကန်စွာကိုက်ညီရမည်နည်း။

Socket_Close_Error () နှင့် Socket_Last_Error () လုပ်ဆောင်ချက်များကိုမည်သို့မှန်ကန်စွာကိုက်ညီရမည်နည်း။

M66 2025-06-29

PHP, Socket_last_Error () socket_clear_error () socket_clear_Error () တွင်ပရိုဂရမ်းမင်းကွန်ယက်များသည်အလွန်အရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်ပြီးအဓိကအားဖြင့် socket connection များရှိအမှားများကိုစီမံခန့်ခွဲရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. developer များက developer များဖမ်းရန်နှင့်အမှားအယွင်းများကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးသူတို့၏အစီအစဉ်များအားစိတ် 0 င်စားမှုကိုတိုးတက်စေသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုနှစ်ခု၏လုပ်ဆောင်မှုများနှင့်မှန်ကန်သောအသုံးပြုမှုနည်းလမ်းများကိုအသေးစိတ်ရှင်းပြပြီးနမူနာကုဒ်မှတဆင့်နားလည်မှုကိုပိုမိုနက်ရှိုင်းစေသည်။


1 ။ နိဒါန်း

  • Socket_last_Error (အရင်းအမြစ် $ socket = null): Int

    ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော socket connection အတွက်နောက်ဆုံးအမှားကုဒ်ကိုရရှိရန်အသုံးပြုသည်။ socket parameter မျှမပေးပါကကမ္ဘာလုံးဆိုင်ရာနောက်ဆုံးအမှားကုဒ်ကိုပြန်လည်ရောက်ရှိပါက။ ဤအမှားကုဒ်သည်ကွဲပြားသောအမှားအမျိုးအစားကိုကိုယ်စားပြုသောကိန်းတစ်ခုဖြစ်သည်။

  • Socket_Close_ERRORERORE (Resources) ကိုအရင်းအမြစ် $ socket = null): ပျက်ပြယ်

    ဤလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော socket connection ပေါ်ရှိအမှားအယွင်းကိုရှင်းလင်းရန်အသုံးပြုသည်။ socket parameter သည်မကုန်တော့ပါကကမ္ဘာလုံးဆိုင်ရာအမှားအယွင်းကိုရှင်းလင်းပါ။ အမှားကိုရှင်းလင်းပြီးနောက် Societ_last_Error () ကိုထပ်မံပြန်ပို့ပါလိမ့်မည်။ အမှားမရှိပါ။


2 ။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအဘယ်ကြောင့်အတူတကွအသုံးပြုရန်လိုအပ်သနည်း။

Socket Operations များကိုလုပ်ဆောင်သောအခါအမှားမက်ဆေ့ခ်ျကို socket ၏အမှားအယွင်းတွင်ထားရှိမည်။ အကယ်. ၎င်းကိုအချိန်မီမရှင်းလင်းပါက socket_last_Error () တွင်နောက်ဆက်တွဲခေါ်ဆိုမှုသည်ယခင်အမှားကိုဆက်လက်ပြန်ပို့ပေးလိမ့်မည်။

ထို့ကြောင့်အကြံပြုထားသောချဉ်းကပ်နည်းမှာ -

  1. လက်ရှိအမှားအယွင်းရရန်ပထမ ဦး ဆုံးခေါ်ဆိုမှု socket_last_Error ()

  2. အမှားကုဒ်အရသက်ဆိုင်ရာအပြောင်းအလဲနဲ့ထွက်သယ်ဆောင်သည်။

  3. နောက်ဆက်တွဲခေါ်ဆိုမှုများသည်အမှားအယွင်းအသစ်ကိုတိကျစွာရယူနိုင်ရန်သေချာစေရန်အမှားအယွင်းများကိုထုတ်ဖော်ပြီးနောက် အပြောင်းအလဲ ပြီးစီးခဲ့သည်။


3 ။ နမူနာကုဒ်

 <?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);
?>

4 ။ မှတ်စုများ

  • အမှားအယွင်းသည် Socket Resource သို့ရောက်နေပြီဖြစ်သော ကြောင့်အထူးသဖြင့် Socket Connection Powarios တွင်ကမ္ဘာလုံးဆိုင်ရာအမှားအယွင်းများကိုအသုံးပြုခြင်းကိုရှောင်ရှားရန်ခေါ်ဆိုသည့်အခါသက်ဆိုင်ရာ socied အရင်းအမြစ်ကိုအတိအလင်းဖြတ်ကျော်ရန်အကောင်းဆုံးဖြစ်သည်။

  • အမှားအယွင်းများကိုထပ်ခါတလဲလဲဖတ်ရှုခြင်းနှင့်တရားစီရင်ခြင်းအမှားများကိုဖြစ်ပေါ်စေသည်ကိုရှောင်ရှားရန် အချိန်အတွက်အမှားအယွင်းကိုအချိန်မီရှင်းလင်းပါ

  • အကယ်. သင်သည်အမှားအယွင်းကိုပြုပြင်ပြီးနောက်ပြည်နယ်ကိုမရှင်းလင်းပါက socket_last_Error () ကိုခေါ်ယူရန်နောက်ဆက်တွဲခေါ်ဆိုမှုများသည်ပရိုဂရမ်၏ယုတ္တိဗေဒကိုအကျိုးသက်ရောက်စေနိုင်သည်။


5 ။ အကျဉ်းချုပ်

  • Socket_last_Error () လက်ရှိ socket ၏နောက်ဆုံးအမှားကုဒ်ကိုသုံးရန်။

  • အမှားအယွင်းကိုရှင်းလင်းရန် အမှားအယွင်း ကိုထုတ်ယူပြီးနောက်,

  • Global နှင့် Local Error Errors ပြည်နယ်များကိုရှုပ်ထွေးစေရန်သတ်သတ်မှတ်မှတ် societ အရင်းအမြစ်များကိုဖြတ်သန်းပါ။

ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည် PHP Socket ပရိုဂရမ်းပရိုဂရမ်းကိုပိုမိုအားကောင်းသည့်အစီအစဉ်များကိုပိုမိုခိုင်မာစေပြီး debugg လုပ်ရန်လွယ်ကူစေသည်။