PHP တွင်ပရိုဂရမ်းမင်းကွန်ယက်တွင် function_shutdown () နှင့် socket_close () ကို မကြာခဏအသုံးပြုသည်။ နှစ် ဦး စလုံးလုပ်ဆောင်ချက်နှစ်ခုစလုံးသည်ပိတ်ခြင်း socket connection များနှင့်သက်ဆိုင်သည်။ သို့သော်၎င်းတို့သည်ကွဲပြားခြားနားစွာအလုပ်လုပ်ကြသည်။ ဤလုပ်ဆောင်မှုနှစ်ခုအကြားခြားနားချက်ကိုနားလည်ခြင်းသည်ကွန်ရက်ဆက်သွယ်မှုများကိုထိရောက်စွာစီမံရန်အတွက်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုတူးဖော်ပြီး socket connection ကိုပိတ်ရန်မှန်ကန်သော function ကိုရွေးချယ်ပါလိမ့်မည်။
Socket_shutDown () function ကို function ကို function အချို့ကိုပိတ်ထားရန်အသုံးပြုသည်။ ၎င်းသည် socket အရင်းအမြစ်ကိုချက်ချင်းမဖျက်ဆီးဘဲ, ဆက်သွယ်မှုကိုပိတ်ထားသည့်အခါသင်ပိတ်ရန်လိုအပ်သည့်လမ်းကြောင်းကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">socket_shutdown</span></span><span>(resource </span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$how</span></span><span> = </span><span><span class="hljs-number">2</span></span><span>)
</span></span>
$ socket : ပိတ်ရန်လိုအပ်သည့် socket အရင်းအမြစ်။
$ ဘယ်လို - ပိတ်ဖို့လမ်းကိုသတ်မှတ်ပါ။ ၎င်းသည်အောက်ပါတန်ဖိုးများဖြစ်နိုင်သည်။
0 : ဆက်သွယ်မှု၏ပေးပို့ခြင်းလမ်းကြောင်းကိုပိတ်ပါ (I.E. , ရေးစစ်ဆင်ရေးကိုပိတ်ပါ။
1 : ဆက်သွယ်မှု၏ reception ည့်ခံလမ်းကြောင်းကိုပိတ်ပါ။
2- စစ်ဆင်ရေးကိုတစ်ချိန်တည်းတွင်အနီးကပ်ဖတ်ရန်နှင့်ရေးပါ (၎င်းသည်ပုံမှန်တန်ဖိုးကိုဆိုလိုသည်။
<span><span><span class="hljs-variable">$socket</span></span><span> = </span><span><span class="hljs-title function_ invoke__">socket_create</span></span><span>(AF_INET, SOCK_STREAM, SOL_TCP);
</span><span><span class="hljs-title function_ invoke__">socket_connect</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-string">'127.0.0.1'</span></span><span>, </span><span><span class="hljs-number">8080</span></span><span>);
</span><span><span class="hljs-comment">// သငျသညျဒေတာထုတ်လွှင့်ပြီးစီးပါပြီဆိုပါစို့,ဒါပေမယ့်ငါဒေတာကိုလက်ခံရရှိရန်မျှော်လင့်ပါတယ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">socket_shutdown</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>); </span><span><span class="hljs-comment">// သာပို့ခြင်း ဦး တည်ချက်ကိုပိတ်ပါ</span></span><span>
</span><span><span class="hljs-comment">// နောက်ပြီးသင်ဒေတာကိုဆက်လက်ရနိုင်သည်</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">socket_read</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-number">1024</span></span><span>);
</span></span>
Socket_shutDown () ကို များသောအားဖြင့်အောက်ပါအခြေအနေများတွင်အသုံးပြုသည်။
ဆက်သွယ်ရေးတွင်အချက်အလက်များကိုတစ်နေရာတည်းတွင်ပိတ်ထားသည်။ သို့သော်အခြားလမ်းညွှန်မှုတစ်ခု၏ဆက်သွယ်မှုကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။
protocol လိုအပ်ချက်များအမှု၌ဒေတာဆုံးရှုံးမှုကိုကာကွယ်ရန်ဒေတာယိုယွင်းခြင်းအားဖြင့်အဆုံးသတ်ပါ။
Socket_shutdown () , socket_close () function ကိုမတူဘဲ socket connection ကိုလုံးဝပိတ်ပြီး၎င်းနှင့်ဆက်စပ်သောအရင်းအမြစ်များအားလုံးကိုအခမဲ့ရယူရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်ကိုဖုန်းဆက်ပြီးနောက် Socket သည်အတည်မပြုရသေးပါ။ မည်သည့်ဒေတာထုတ်လွှင့်မှုအတွက်မသုံးနိုင်ပါ။
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">socket_close</span></span><span>(resource </span><span><span class="hljs-variable">$socket</span></span><span>)
</span></span>
$ socket : ပိတ်ထားရန် socket အရင်းအမြစ်။
<span><span><span class="hljs-variable">$socket</span></span><span> = </span><span><span class="hljs-title function_ invoke__">socket_create</span></span><span>(AF_INET, SOCK_STREAM, SOL_TCP);
</span><span><span class="hljs-title function_ invoke__">socket_connect</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>, </span><span><span class="hljs-string">'127.0.0.1'</span></span><span>, </span><span><span class="hljs-number">8080</span></span><span>);
</span><span><span class="hljs-comment">// ဒေတာဖလှယ်မှုပြီးဆုံးပြီးနောက်,ရုပ်သိမ်းခြင်း socket ဆက်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">socket_close</span></span><span>(</span><span><span class="hljs-variable">$socket</span></span><span>);
</span></span>
Socket_Close () သည်အောက်ပါအခြေအနေများအတွက်သင့်တော်သည်။
ဆက်သွယ်မှုကိုလုံးဝအဆုံးသတ်ပြီးအခြားပါတီနှင့်ဆက်သွယ်ရန်မလိုအပ်တော့ပါ။
Socket သည်အလုပ်များအားလုံးကိုပြီးဆုံးပြီးနောက်မှတ်ဉာဏ်ယိုစိမ့်မှုမရှိစေရန်အရင်းအမြစ်များကိုလွှတ်ပေးပါ။
သီးခြားထင်ရှားသော | Socket_shutdown () | Socket_Close () |
---|---|---|
လုပ်ဆောင်ချက် | Socket ၏လမ်းကြောင်းတစ်ခု၏လမ်းကြောင်းတစ်ခုကိုပိတ်ပါ (ဖတ်ပါ, ရေး, ရေး, သို့မဟုတ်နှစ် ဦး စလုံး) | Socket ကိုလုံးဝပိတ်ပြီးအရင်းအမြစ်များအားလုံးကိုဖြန့်ချိပါ |
အရင်းအမြစ်များကိုလွှတ်ပေးရန်ရှိမရှိ | အရင်းအမြစ်များကိုဖြန့်ချိခြင်းမရှိဘဲ Socket သည်ဆက်လက်တည်ရှိနေသော်လည်းအချို့သောလုပ်ဆောင်ချက်များသည်ပိတ်ထားသည် | အရင်းအမြစ်များအားလုံးကိုဖြန့်ချိပါ, Socket ကိုမသုံးနိုင်တော့ပါ |
အသုံးပြု | ဆက်သွယ်မှုများကိုလက်မခံနိုင်သည့်အခြေအနေတွင်အသုံးပြုသောအခြေအနေတွင်အသုံးပြုသည် | ဆက်သွယ်မှုလုံးဝရပ်စဲသောအခါအသုံးပြုမှုသည်ဆက်သွယ်ရေးလိုအပ်သည့်အခါအသုံးပြုသည် |
တေးရေး | စာဖတ်ခြင်း, အရေးအသား, | အဘယ်သူမျှမ parameters တွေကိုမျှမ socket အရင်းအမြစ်များကိုဖြတ်သန်း |
Socket_shutDown () သို့မဟုတ် Socket_close () ကိုရွေးချယ်ရန်ရွေးချယ်ရာတွင်အောက်ပါအချက်များကိုအဓိကအားဖြင့်ထည့်သွင်းစဉ်းစားသည် -
အကယ်. သင်ဆက်သွယ်မှု၏လမ်းကြောင်းတစ်ခုကိုပိတ်လိုပါက (ဥပမာအားဖြင့်သင်ပို့ပြီးနောက်သင်ဒေတာများကိုသင်မပို့လိုသော်လည်းအချက်အလက်များကိုလက်ခံလိုသည်) ကို အသုံးပြု. Socket_shutDown () အသုံးပြုခြင်းသည်ပိုမိုသင့်လျော်သောရွေးချယ်မှုဖြစ်သည်။
အကယ်. သင်သည်ဆက်သွယ်မှုကိုလုံးဝပိတ်ပြီးမှတ်ဉာဏ်ယိုစိမ့်မှုများကိုကာကွယ်ရန်အရင်းအမြစ်များအားလုံးကိုအခမဲ့လွှတ်လိုပါက socket_close () ကို လက်ျာရွေးချယ်မှုဖြစ်သည်။
အချို့သောအခြေအနေများတွင်သင်သည် socket_shutdown () သည် ဆက်သွယ်မှုကိုလျောက်ပတ်စွာနီးကပ်စွာအနီးကပ် ပိတ်ရန် ခေါ်သွားပြီး, ဤသို့ပြုလုပ်ခြင်းသည်ဆက်သွယ်မှုကိုမပိတ်မီစစ်ဆင်ရေးအားလုံးချောချောမွေ့မွေ့လုပ်ဆောင်နိုင်ကြောင်းသေချာစေသည်။
PHP Network Programming တွင် socket_shutdown () နှင့် socket_close () အကြားခြားနားချက်ကိုနားလည်ခြင်းသည် socket connection များကိုစနစ်တကျစီမံရန်အရေးကြီးသည်။ Socket_shutDownDown () သည် အဆိုးမြင် ဆက်သွယ်မှုလမ်းကြောင်းကိုအနီးကပ်ဆက်သွယ်မှုကိုပိတ်ထားရန်အပြီးသတ် granular control ကိုပိုမိုကောင်းမွန်စေသည်။ ပရိုဂရမ်၏တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုသေချာစေရန်သင်၏လိုအပ်ချက်များနှင့်အညီသင့်လျော်သောလုပ်ဆောင်ချက်ကိုရွေးချယ်ပါ။