PHP တွင်ပရိုဂရမ်းမင်း Sockets များ, အမှားအယွင်းများနှင့်အမှားကိုင်တွယ်ပုံသည်ပရိုဂရမ်အား 0 င်ရောက်နိုင်ရန်အတွက်အဓိကချိတ်ဆက်မှုများဖြစ်သည်။ Socket_Close_Error () function သည် PHP စံစာကြည့်တိုက်နှင့်အတူပါ 0 င်သည့် function မဟုတ်သော်လည်းယခင် Socket Eritual State ကိုစိတ်ကြိုက်သို့မဟုတ်အလားတူယန္တရားများမှတစ်ဆင့်ရှင်းလင်းနိုင်သည်။ Socket_Close_ERRORRORRORRORRORE () function ကိုခေါ်ဆိုခြင်း Mocket စစ်ဆင်ရေးတစ်ခုချင်းစီကိုမလုပ်ဆောင်မီကျယ်ကျယ်ပြန့်ပြန့်အကြံပြုထားသည့် programming အလေ့အထတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်အကြောင်းရင်းများနှင့်စည်းမျဉ်းစည်းကမ်းများအပေါ်အပြုသဘောသက်ရောက်မှုများကိုအသေးစိတ်ရှင်းပြပါမည်။
Socket_Close_Error_Error () function ၏အဓိကလုပ်ဆောင်ချက်သည်လက်ရှိစစ်ဆင်ရေးအပေါ်အမွေအရေးအသား၏အကျိုးသက်ရောက်မှုကိုရှောင်ရှားရန် Socke Scorning အသစ်ကိုမကွပ်မျက်မီယခင်အမှားအယွင်းကိုရှင်းလင်းရန်ဖြစ်သည်။ PHP တွင် Socket_Last_ERROR () ခေါ်ဆိုခြင်းဖြင့် Socket Error Status ကိုမကြာခဏရလေ့ရှိသည်။ အကယ်. အမှားကိုမရှင်းလင်းပါကအမှားအယွင်းဟောင်းသည် developer ကိုလမ်းလွဲစေနိုင်သည်။
ကျွန်ုပ်တို့သည်ရိုးရှင်းသော sococket_clear_error () function ကိုအောက်ပါအတိုင်းစိတ်ကြိုက်ပြင်ဆင်နိုင်သည်။
function socket_clear_error($socket) {
// ခေါ်ဆိုခြင်းအားဖြင့် socket_last_error() အမှားအယွင်းကိုဖတ်ပြီးရှင်းလင်းပါ
socket_clear_error_internal($socket);
}
function socket_clear_error_internal($socket) {
// အမှားအယွင်းကိုရှင်းလင်းရန်အမှားကုဒ်ကိုဖတ်ပါ
socket_last_error($socket);
}
မှတ်စု: ၎င်းကိုအသုံးပြုသောအခါအမှားကိုရှင်းလင်းရန် Socket_Last_Error ($ socket) ကိုသာသင်လိုအပ်သည်။
အမှားအယွင်းကိုအရင်မသန့်ရှင်းသေးပါကယခင်ကမရှိသေးသောအမှားသည်ဤစစ်ဆင်ရေး၏တရားစီရင်ခြင်းကိုအကျိုးသက်ရောက်နိုင်သည်။ ဥပမာအားဖြင့်, နောက်ဆုံးစစ်ဆင်ရေးမအောင်မြင်ပါကအမှားအယွင်းမရှိခဲ့ပါက socket_last_Error () သည် နောက်လည်ပတ်မှုသည်အောင်မြင်သောစစ်ဆင်ရေးအောင်မြင်ခဲ့လျှင်ပင်အမှားအယွင်းဟောင်းကိုပြန်ပို့နိုင်သည်။
အမှားကိုသန့်ရှင်းရေးလုပ်ပြီးနောက် Socket_last_Error () ကိုခေါ်ဆိုခြင်းဖြင့်အမှားကုဒ်သည်လက်ရှိစစ်ဆင်ရေးကြောင့်ဖြစ်ပေါ်လာသောအမှားတစ်ခုဖြစ်ရမည်။ ဤသည်အလွန် debugging အချိန်နှင့်ပြ problem နာအနေအထား၏တိကျမှန်ကန်မှုကိုတိုးတက်စေသည်။
အမှားအယွင်းများကိုကြိုတင်ရှင်းလင်းခြင်းကအစီအစဉ်ကို Misjudgment ကြောင့်ခြွင်းချက်အပြောင်းအလဲများကိုမ 0 င်စေရန်တားဆီးနိုင်သည်။
အောက်ပါဥပမာသည်အမှားအယွင်းများသည်တိကျမှန်ကန်ပြီးယုံကြည်စိတ်ချရကြောင်းသေချာစေရန် Socket မတိုင်မီအမှားများကိုရှင်းရှင်းလင်းလင်းဖတ်ပါ။
<?php
// a socket ဆက်
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "ဖန်တီး socket ဆုံးရှုံး: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// ဆက်到服务器
socket_clear_error($socket); // ယခင်အမှားအယွင်းကိုရှင်းလင်းပါ
if (!socket_connect($socket, "m66.net", 80)) {
echo "ဆက်ဆုံးရှုံး: " . socket_strerror(socket_last_error($socket)) . "\n";
socket_close($socket);
exit;
}
// ပေးပို့ HTTP မေးမြန်း
socket_clear_error($socket);
$request = "GET / HTTP/1.1\r\nHost: m66.net\r\nConnection: Close\r\n\r\n";
if (!socket_write($socket, $request, strlen($request))) {
echo "ပေးပို့မေးမြန်းဆုံးရှုံး: " . socket_strerror(socket_last_error($socket)) . "\n";
socket_close($socket);
exit;
}
// တုံ့ပြန်မှုကိုဖတ်ပါ
socket_clear_error($socket);
$response = '';
while ($out = socket_read($socket, 2048)) {
$response .= $out;
}
echo "တုံ့ပြန်မှုအကြောင်းအရာ:\n" . $response;
socket_close($socket);
?>
အထက်ပါကုဒ်တွင် Socket_Close_Error ($ socket_write) ကို Socket_Connect_Error ($ socket_write ) ကိုရှင်းလင်းရန်ခေါ်ယူလိမ့်မည်။
PHP Socket_clear_Error () တွင် Socket Operation တစ်ခုချင်းစီတွင် Socket operty သည်ရိုးရှင်းသော်လည်းအလွန်ထိရောက်သောအလေ့အထတစ်ခုဖြစ်သည်။ ဖြစ်နိုင်ပါသည်:
အမှားအယွင်းများဟောင်းများကိုရှင်းရှင်းလင်းလင်းဖော်ပြပြီး Misjudgment ကိုရှောင်ရှားပါ။
လက်ရှိအမှားများကိုလျင်မြန်စွာရှာဖွေရန်ကူညီသည်။
code ၏ကြံ့ခိုင်ခြင်းနှင့်တည်ငြိမ်မှုကိုတိုးတက်အောင်လုပ်ပါ။
၎င်းသည် debugging အခက်အခဲများကိုလျော့နည်းစေရုံသာမကရှုပ်ထွေးသောကွန်ယက်ဝန်းကျင်နှင့်ရင်ဆိုင်ရသောအခါသင်၏ code ကိုပိုမိုစိတ်ချရပြီး developer တိုင်းကဖွံ့ဖြိုးတိုးတက်မှုထိုက်သည်။