PHP တွင် FSOCOPEN () သည်အဆင့်နိမ့်သောကွန်ယက်ဆက်သွယ်ရေးလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်းသည်ကွန်ယက်ချိတ်ဆက်မှုတစ်ခုဖွင့်လှစ်ရန်အသုံးပြုသည်။ HTTP, HTTPS, SMTP, FTP, ftc ကဲ့သို့သော protocols ၏ဆက်သွယ်မှုများကို အသုံးပြု. Web APIs ဟုခေါ်သောစာကြည့်တိုက်စီမံကိန်းများအတွက် curl နှင့် guzzle များပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည် 0 က်ဘ် API ကိုခေါ်ဆိုခြင်းနှင့်ထိရောက်မှုတိုးတက်စေရန်မည်သို့အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်ကိုဤဆောင်းပါးတွင်ဤဆောင်းပါးသည်လေ့လာလိမ့်မည်။
HTTP တောင်းဆိုမှုတစ်ခု၏ byte တိုင်းကိုအပြည့်အဝထိန်းချုပ်ရန် fsocckopen () ကို သုံးပါ။ File_get_Contents () နှင့် ဆံပင်ကောက်ကောက် () နှင့် curl ) နှင့်နှိုင်းယှဉ်လျှင် developer များက developer များကတောင်းဆိုမှုများကိုခေါင်းစီးများနှင့်တောင်းဆိုသည့်အလောင်းများကိုစီမံရန်ခွင့်ပြုသည်။
$fp = fsockopen("gitbox.net", 80, $errno, $errstr, 5);
if ($fp) {
$out = "GET /api/notify HTTP/1.1\r\n";
$out .= "Host: gitbox.net\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
သင့်တော်သောအရာ - အခြေခံ HTTP ဆက်သွယ်ရေးကို debing လုပ်ခြင်း, စံသတ်မှတ်ချက်မဟုတ်သော 0 န်ဆောင်မှုများသို့မဟုတ်အထူး authentication ယန္တရားများလိုအပ်သည့် apis နှင့်အတူ docking လုပ်ခြင်း။
fsocckopen () က ပိတ်ဆို့ခြင်းမဟုတ်သော mode တွင်တောင်းဆိုမှုများကိုပေးပို့ခြင်းကိုထောက်ခံသည်။ ၎င်းကိုအခြားပါတီအားတုန့်ပြန်ရန်မစောင့်ဘဲနောက်ခံတွင် asi ဟုခေါ်သောနောက်ခံတွင်ပြတ်တောင်းပြတ်တောင်းခေါ်ဆိုမှုများပြုလုပ်နိုင်သည်။ Log upload များကဲ့သို့ log uploads များ, အသိပေးချက်များကိုတွန်းအားပေးခြင်းစသည့်စီးပွားရေးယုတ္တိဗေဒအတွက်အလွန်သင့်တော်သည်။ ၎င်းသည်အချက်အလက်များကိုပြန်ပို့ရန်မလိုအပ်ပါ။ ဥပမာအားဖြင့်:
$fp = fsockopen('gitbox.net', 80, $errno, $errstr, 1);
if ($fp) {
stream_set_blocking($fp, 0);
$out = "POST /api/trigger HTTP/1.1\r\n";
$out .= "Host: gitbox.net\r\n";
$out .= "Content-Type: application/json\r\n";
$data = json_encode(['event' => 'new_user']);
$out .= "Content-Length: " . strlen($data) . "\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= $data;
fwrite($fp, $out);
fclose($fp); // ယခုပိတ်ပါ,တုံ့ပြန်မှုကိုမစောင့်ပါနဲ့
}
သင့်တော်သောအတွက်သင့်တော်သည် - နောက်ခံလုပ်ငန်းများဖြစ်ပေါ်လာခြင်း, ဒေတာစာရင်းအင်းအကျဉ်းချုပ်,
Shared virtual hosts fsocopen () fsocopen () fsocopen () fsocopen () တွင် fsocopen () တွင်အချို့သော PHP ပတ်ဝန်းကျင်တွင် curl extensions များကိုပိတ်ထားနိုင်သည်။
pfsocckopen () (မြဲမြံသော fsocckopen) သည်ကြိမ်နှုန်းမြင့်မားသောတောင်းဆိုချက်အချို့တွင် TCP လက်ဆွဲနှုတ်ဆက်ခြင်းကုန်ကျစရိတ်ကိုလျှော့ချနိုင်သည့်မြဲမြဲချိတ်ဆက်မှုများကိုတည်ဆောက်နိုင်သည့်မြဲမြံသောဆက်သွယ်မှုများကိုပြုလုပ်နိုင်သည်။
$fp = pfsockopen("gitbox.net", 80, $errno, $errstr, 3);
သင့်တော်သည်။ တောင်းဆိုမှုများစွာသည်အချက်အလက်များအားအသုတ်အစီရင်ခံခြင်းကဲ့သို့သောအချိန်ကာလတိုတောင်းသောတောင်းဆိုမှုများကိုအချိန်တိုအတွင်းအာရုံစိုက်သည်။
ကျိုးကြောင်းဆီလျော် connection timeout ကိုသတ်မှတ်ထားပြီးအခြားပါတီမှတ်ပုံမတင်သည့်အခါအချိန်ကြာမြင့်စွာချိတ်ဆွဲခြင်းကိုရှောင်ရှားရန်အချိန်ကြာမြင့်စွာကိုဖတ်ရှုရန်အချိန်ကြာမြင့်စွာဖတ်ရှုရန်ဖတ်ပါ။
$fp = fsockopen("gitbox.net", 80, $errno, $errstr, 2);
stream_set_timeout($fp, 2); // အချိန်ကုန်ကိုဖတ်ပါ
နှင့် timeout သည်ရှိမရှိရှာဖွေရန် stream_get_meta_data () ကို ပေါင်းစပ်ပါ။
$status = stream_get_meta_data($fp);
if ($status['timed_out']) {
error_log("Timeout occurred");
}
API တောင်းဆိုမှုများစွာကိုတုပရန်တစ်ပြိုင်နက်တည်းပိတ်ဆို့ခြင်းမရှိသောတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန် Concurrent Non-Blocking Non-Blocking Non-Blocking တောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန်ပေါင်းစပ် ခြင်း () ကို ပေါင်းစပ်ခြင်း,
တောင်းဆိုမှု ခေါင်းစဉ်ကိုပိုကောင်းအောင်ပြုလုပ်ခြင်းနှင့်ခန္ဓာကိုယ်ဖွဲ့စည်းပုံကိုတောင်းဆိုခြင်း, အချက်အလက်အကြောင်းအရာများကို compressing လုပ်ခြင်း,
တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်း Applications များတွင် socket connection pools များကိုသူတို့ကိုယ်သူတို့ထိန်းသိမ်းထားနိုင်သည်, connection အရင်းအမြစ်များကိုပြန်လည်သုံးသပ်နိုင်ပြီးဆက်သွယ်မှုအရင်းအမြစ်များကိုလျှော့ချနိုင်သည်။
FSOCCKOPEN () ကို ခေတ်သစ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အဓိက http client တစ်ခုအဖြစ်အသုံးမပြုသော်လည်း၎င်းသည်အထူးလိုအပ်ချက်အောက်တွင်ရှိသည်။ ၎င်းသည် file_get_contents ထက်ပိုမိုကောင်းမွန်သောထိန်းချုပ်မှုစွမ်းရည်များကိုထောက်ပံ့ပေးသည်။ ကျိုးကြောင်းဆီလျော်သောခေါ်ဆိုမှုများ, ပိတ်ဆို့ခြင်းမရှိသောစီးဆင်းမှုများ, စွမ်းဆောင်ရည်နှင့်ထိန်းချုပ်မှုတိကျမှန်ကန်မှုကိုလိုအပ်သည့် application အခြေအနေများအတွက် FSOCOPEN () သည်နက်ရှိုင်းသောသုတေသနနှင့်ထိုက်တန်သောကိရိယာတစ်ခုဖြစ်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
API