Socket_wsaprotocol_Info_import သည်ဖုန်းခေါ်ဆိုခြင်းအတွက်ကုန်ကျစရိတ်မြင့်မားသောစနစ်အဆင့်စစ်ဆင်ရေးတစ်ခုဖြစ်သည်။ ၎င်းကို 0 န်ဆောင်မှုကို အစပြု. သို့မဟုတ် socket ကိုအမှန်တကယ်ဖြစ်စဉ်များအကြားမျှဝေသောအခါ, လိုအပ်မှသာလိုအပ်လျှင်သာခေါ်ဆိုရန်အကြံပြုသည်။ တင်သွင်းထားသော socket သည်တူညီသော descriptor ကိုထပ်ခါတလဲလဲတင်သွင်းခြင်းကိုရှောင်ရှားရန် Memory တွင်သိမ်းဆည်းထားနိုင်သည်။
$cache = [];
$hash = md5($info_string);
if (!isset($cache[$hash])) {
$cache[$hash] = socket_wsaprotocol_info_import($info_string);
}
$socket = $cache[$hash];
အကယ်. သင်၏လျှောက်လွှာဗိသုကာလက်ရာတွင် socket information ကိုမျှဝေရန်လိုအပ်ပါက wsaprotocol_info strings များကိုလွှဲပြောင်းရန်ဖိုင်များသို့မဟုတ်ဒေတာဘေ့စ်များကိုမကြာခဏအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ။ PHP ၏မျှဝေထားသောမှတ်ဥာဏ် extension များအကြားထိရောက်သောလွှဲပြောင်းမှုများကို PHP ၏မျှဝေထားသော Memory extension များ ( shiole \ table ) မှတဆင့်ရနိုင်သည်။
$table = new Swoole\Table(1024);
$table->column('info', Swoole\Table::TYPE_STRING, 512);
$table->create();
$table->set('socket_key', ['info' => $info_string]);
ဤနည်းအားဖြင့်အခြားဖြစ်စဉ်တစ်ခုသည် shared memory မှ disks များကိုကြည့်ခြင်းမရှိဘဲလျင်မြန်စွာဖတ်ရှုနိုင်သည်။
High Concurrencencencencencencencencencencencencencencencencencencencency တစ်ခုတွင် Socket Import သည် Coroutine စီစဉ်ခြင်း Socke Socket Import Socket Import Socket Import Socket Import Socket Import Socket Imports ကို SWoole သို့မဟုတ် Refletphp တို့နှင့်ပေါင်းစပ်။ စဉ်းစားနိုင်သည်။
go(function () use ($info_string) {
$socket = socket_wsaprotocol_info_import($info_string);
// နောက်ဆက်တွဲအပြောင်းအလဲနဲ့
});
Socket ကိုတင်သွင်းခြင်း၏အန္တိမရည်မှန်းချက်မှာ၎င်းကိုပြန်လည်အသုံးပြုရန်ဖြစ်သည်။ ဥပမာအားဖြင့်မိဘဖြစ်စဉ်တွင် socket တစ်ခုကိုဖန်တီးပါ, ထို့နောက် Windows WSADUPLUCECTCECTECTED ယန္တရားမှတစ်ဆင့်ကလေးဖြစ်စဉ်ကိုဖြတ်သန်းပါ။
တင်သွင်းပြီးသည်နှင့်ကလေးဖြစ်စဉ်သည်ချက်ချင်းခလုတ်ကိုမပိတ်နိုင်ကြောင်းသေချာစေပါ။
$socket_pool[] = socket_wsaprotocol_info_import($info_string);
// သင်ကနေနောက်ဆက်တွဲနိုင်ပါတယ် $socket_pool ပြန်လည်အသုံးပြုပါ
စွမ်းဆောင်ရည်မြှင့်တင်ခြင်းသည် function perform မှမဟုတ်ဘဲ operating system ၏အရင်းအမြစ်များ၏သယံဇာတများအကန့်အသတ်များမှ (ထိုကဲ့သို့သောလက်ကိုင်အရေအတွက်ကဲ့သို့) ။ 0 င်းဒိုးစနစ်များတွင် registry parameters တွေကိုညှိခြင်းဖြင့် Socket Socket Limits ကိုတိုးမြှင့်နိုင်သည်။ တစ်ချိန်တည်းမှာပင် socket ယိုစိမ့်မှုကိုရှောင်ကြဉ်ပါ။
if (is_resource($socket)) {
socket_close($socket);
}
Socket_wsaprotocol_Info_import သည် စွမ်းဆောင်ရည်မြှင့်တင်ရန်သံသယဖြစ်ဖွယ်ဖြစ်သည့်အခါ၎င်း၏အချိန်စားသုံးသည့်အခြေအနေကိုသစ်ထုတ်လုပ်ခြင်းကိုအသုံးပြုသည်။
$start = microtime(true);
$socket = socket_wsaprotocol_info_import($info_string);
$duration = microtime(true) - $start;
error_log("Import duration: {$duration}s");
Windows 'Performance Monitor (PARTMOMMOME) နှင့် တွဲဖက်. Network IO ကိုကြည့်ရှုရန်, အသုံးပြုမှု, မှတ်ဉာဏ်နှင့်အခြားအရင်းအမြစ်များကိုကိုင်တွယ်ရန်, အသုံးပြုမှု, မှတ်ဉာဏ်နှင့်အခြားအရင်းအမြစ်များကိုကြည့်ရှုရန်,
PHP 0 န်ဆောင်မှုကြီးများတွင် Socket Descriptions နှင့် Export နှင့် Export နှင့်ပို့ကုန်ယုတ္တိဗေဒကိုထိန်းသိမ်းထားသောပေါ့ပါးသောဒေသခံ Daemon ကိုဒီဇိုင်းဆွဲရန်စဉ်းစားပါ။ PHP သည်၎င်းကိုအကာအကွယ်ပေးသည့်အကောင်အထည်ဖော်မှုကိုအလွန်ထိရောက်စွာလျှော့ချသည်။ ဥပမာအားဖြင့်:
$info_string = file_get_contents("http://gitbox.net/socket-info?id=123");
$socket = socket_wsaprotocol_info_import($info_string);
PHP တင်သွင်းမှုယုတ္တိဗေဒကိုဒေသခံ HTTP ဝန်ဆောင်မှုသို့မဟုတ် UNIX ဒိုမိန်း socket interface မှတဆင့်ရိုးရှင်းလွယ်ကူသည်။