Socket_last_Error () PHP ကို အသုံးပြု. ပရိုဂရမ်းမင်းကွန်ယက်များအပေါ်ကွန်ပျူတာများပါ 0 င်သည့်အတွက်အလွန်အရေးကြီးသော debugging tool တစ်ခုဖြစ်သည်။ နောက်ဆုံးပေါ် socket လည်ပတ်မှုတွင်ဖြစ်ပွားသောအမှားကုဒ်ကိုကျွန်ုပ်တို့အားကူညီနိုင်ပြီးပြ the နာကိုရှာပါ။ သို့သော် developer များစွာက Socket_last_Error () သည် 0 0 ကိုအမြဲတမ်းပြန်လာသည်။ ဤဆောင်းပါးသည်ဤဖြစ်စဉ်၏အဓိကအကြောင်းရင်းများကိုနက်နက်နဲနဲနှင့်သင်လျစ်လျူရှုထားသည့်အဓိကအချက်များအပေါ်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
Socket_Last_Error () function ၏လုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော Socket Resour တွင်ဖြစ်ပေါ်သောနောက်ဆုံးအမှားကုဒ်ကိုပြန်ပို့ရန်ဖြစ်သည်။ Socket Resources ကိုမထုတ်ပြန်ပါကလက်ရှိ default socket အတွက်အမှားကုဒ်ကိုပြန်ပို့သည်။ သတိပြုသင့်သည်မှာ Function သည်နောက်ဆုံးစစ်ဆင်ရေးတွင်အမှားကုဒ်ကိုသာပြန်လည်ပေးလိမ့်မည်။
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Socket ကိုဖန်တီးရန်မအောင်မြင်ပါ,အမှားကုဒ်:" . socket_last_error() . "\n";
}
socket_last_Error () 0 0 ပြန်လာရန်အတွက်များသောအားဖြင့်များစွာသောအကြောင်းရင်းများရှိသည်။
Socket_last_Error () အဘယ်သူမျှမ socket ကိုမသတ်မှတ်ပါက default socket ၏အမှားအယွင်းကိုပြန်ပို့လိမ့်မည်။ အကယ်. သင်သည် socket မျိုးစုံကိုအသုံးပြုနေပါကသို့မဟုတ်အတိအလင်းမဖော်ပြထားပါက 0 ကိုပြန်လာလိမ့်မည်။
// အမှားသရုပ်ပြ,အဘယ်သူမျှမ socket ကိုသတ်မှတ်ထားသော
$errorCode = socket_last_error(); // ဖြစ်ကောင်း0
// မှန်ကန်သောသရုပ်ပြ
$errorCode = socket_last_error($socket);
Socket စစ်ဆင်ရေးကိုအောင်မြင်စွာလုပ်ဆောင်သောအခါအမှားကုဒ်သည် 0 သို့ပြန်လည်စတင်လိမ့်မည်။ ထို့အပြင်သင် socket_clear_error () ကိုခေါ်ပါကအရင်အမှားအယွင်းကိုရှင်းလင်းလိမ့်မည်။
// စစ်ဆင်ရေးမတိုင်မီအမှားများကို detect
$errorCode = socket_last_error($socket);
// ဒါကြောင့်အောင်မြင်စွာခေါ်ခဲ့လျှင် socket_connect သို့မဟုတ် socket_write,အမှားရှင်းလင်းခဲ့ကြပေမည်
socket_clear_error($socket);
// အခုအချိန်တွင် socket_last_error() ပြန်လာပါလိမ့်မယ် 0
တခါတရံမှာ, သင်စစ်ဆင်ရေးပုံမှန်မဟုတ်သောဖြစ်ပေမယ့်တကယ်တော့စီးပွားရေးယုတ္တိဗေဒသို့မဟုတ်အခြားနေရာများတွင်အမှားတစ်ခုဖြစ်ပြီး socket ကိုယ်နှိုက်ကအမှားတစ်ခုဖြစ်ပေါ်လာသည်မဟုတ်။ ထို့ကြောင့် socket_last_Error () 0 ငလျင်အတွက် ပုံမှန်ဖြစ်သည်။
အထက်ပါကြိုတင်ကာကွယ်မှုများနှင့်ပေါင်းစပ်။ debug အမှားများသို့အောက်ပါ mode ကိုအသုံးပြုရန်အကြံပြုပါသည်။
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "Socket ကိုဖန်တီးရန်မအောင်မြင်ပါ,အမှားကုဒ်:" . socket_last_error() . "\n";
exit;
}
$result = socket_connect($socket, "gitbox.net", 80);
if ($result === false) {
$err = socket_last_error($socket);
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားကုဒ်:$err - " . socket_strerror($err) . "\n";
} else {
echo "အောင်မြင်စွာဆက်သွယ်မှု!\n";
}
ဤနေရာတွင်ဤနေရာတွင်မှတ်သားရန်အထူးအရေးကြီးသည်မှာတိကျသောအမှားအချက်အလက်များရရှိရန် Socket_last_Error () ကို Socket Remone သို့ကူးပြောင်းရမည်။
အမှားမက်ဆေ့ချယသန့်ရှင်းရေး - အကယ်. သင်သည် socket_cloear_Error ($ socket) ဟုခေါ်ပါက socket_last_Error ($ socket) 0 င်ပြန်လာလိမ့်မည်။
ပြတ်တောင်းပြတ်တောင်းသို့မဟုတ်ပိတ်ဆို့ခြင်းမဟုတ်သောလုပ်ငန်းများ - ပြတ်ပြတ်သားသားမပိတ်ထားသော socket operations များတွင်အမှားအယွင်းများသည် socket_last_Error () ကိုချက်ချင်းထင်ဟပ်ရန်နှင့်အခြားပြည်နယ်များနှင့်ပေါင်းစပ်။ စစ်ဆေးရန်လိုအပ်သည်။
Error Code ဘာသာပြန်ခြင်း - Socket_Stror Orderror () အမှားကုဒ်များကိုလွယ်ကူစွာနားလည်နိုင်သောအမှားအယွင်းများသို့ပြောင်းရန်။
Socket_last_Error () ကိုနားလည်ခြင်းနှင့်မှန်ကန်သောအသုံးပြုမှုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်ကွန်ယက်ကိုလျှော့ချနိုင်ပြီးအမှားကုဒ်သည်အမြဲတမ်း 0 င်လာကြောင်းနှင့်သင်၏ network program ကိုပိုမိုအားကောင်းစေသည့်အတွက်ဤဆောင်းပါးကသင့်အားရှာဖွေရန်မျှော်လင့်ပါသည်။