အချိန်နှင့်တပြေးညီစနစ်များကိုတီထွင်သည့်အခါကွန်ယက်ဆက်သွယ်မှုကိုစွမ်းဆောင်ရည်အကောင်းမြင်မှုသည်အလွန်အရေးကြီးသည်။ အထူးသဖြင့်မြင့်မားသောတစ်ပြိုင်နက်တည်းနှင့်ကြီးမားသောဒေတာပမာဏနှင့်ကြီးမားသောအချက်အလက်ပမာဏနှင့်မက်ဆေ့ခ်ျပို့ခြင်းထိန်းချုပ်မှုနှင့်မက်ဆေ့ခ်ျပို့ဆောင်ခြင်းထိန်းချုပ်မှုနှင့်မက်ဆေ့ခ်ျပို့ဆောင်ခြင်းထိန်းချုပ်မှုကိုအထူးသဖြင့်အခြေအနေများတွင်အထူးသဖြင့်အခြေအနေများတွင်အထူးသဖြင့်ပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည် Socket_cMsg_space function မှတစ်ဆင့်မက်ဆေ့ခ်ျကြားခံကိုမည်သို့ထိရောက်စွာထိန်းချုပ်နိုင်မည်ကိုဆွေးနွေးပါမည်။
Socket_cMsg_space function သည်နောက်ထပ် header data များကဲ့သို့သောထိန်းချုပ်မှုအချက်အလက်များကိုဖြတ်သန်းသွားသောအခါလိုအပ်သောနေရာကိုဆုံးဖြတ်သည့် function တစ်ခုဖြစ်သည်။ Sendmsg () သို့မဟုတ် Recvopmsg ကဲ့သို့သောကွန်ယက်စစ်ဆင်ရေးများကိုအသုံးပြုခြင်းအားဖြင့်ဤလုပ်ဆောင်မှုကိုများသောအားဖြင့်ခေါ်ဆိုသည်။ အဓိကအားဖြင့် CMSG (Controls Information Mession Message) ဖွဲ့စည်းပုံကိုဖြတ်သန်းသွားသောအပိုဆောင်းအချက်အလက်များအတွက်လိုအပ်သောနေရာကိုတွက်ချက်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။ အထူးသဖြင့် Socket_cMsg_space သည် Control Information ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အလွန်အရေးကြီးသည်။
int socket_cmsg_space(int level, int type);
Level : Protocol layer, များသောအားဖြင့် Sol_Socol သို့မဟုတ်အခြား protocol layer ။
အမျိုးအစား : မက်ဆေ့ခ်ျအမျိုးအစား, များသောအားဖြင့် scm_rights , scm_timestamp နှင့်အခြားထိန်းချုပ်မှုသတင်းအချက်အလက်အမျိုးအစားများ။
အချိန်နှင့်တပြေးညီစနစ်များတွင်အထူးသဖြင့်မြင့်မားသောတစ်ပြိုင်နက်တည်းနှင့် latency network applications application အခြေအနေများတွင် Performance botlencecks သည်မက်ဆေ့ခ်ျများပေးပို့ခြင်းနှင့်လက်ခံခြင်းတွင်စွမ်းဆောင်ရည်မြှင့်တင်ခြင်းတွင်မကြာခဏဖြစ်ပေါ်လေ့ရှိသည်။ သေးငယ်သောကြားခံသည်မှတ်ဥာဏ်ခွဲဝေမှုနှင့်စစ်ဆင်ရေးများကိုမိတ္တူကူးခြင်း, ကြီးမားလွန်းသောကြားခံသည်မှတ်ဥာဏ်အရင်းအမြစ်များကိုစွန့်ပစ်ပြီးစနစ်၏စွမ်းဆောင်ရည်ကိုလျှော့ချလိမ့်မည်။
မှတ်ဉာဏ်စီမံခန့်ခွဲမှု - အချိန်နှင့်တပြေးညီစနစ်များရှိမှတ်ဉာဏ်စီမံခန့်ခွဲမှုသည်အထူးသဖြင့်မြင့်မားသောဝန်များအောက်တွင်အလွန်စေ့စပ်ဖြစ်ရမည်။
latency optimization : litency နိမ့်အငုံမှတ်သည် Real-time system များတွင်အဓိကလိုအပ်ချက်တစ်ခုဖြစ်သည်။
Bandwidth အသုံးချမှု - ကျိုးကြောင်းဆီလျော်သောကြားခံအရွယ်အစားသည်ထိရောက်သော bandwidth အသုံးချမှုကိုသေချာစေနိုင်သည်။
Socket_cMsg_space function ကိုအသုံးပြုသောအခါ developer များသည် protocol type နှင့် message type အပေါ် အခြေခံ. လိုအပ်သောကြားခံအရွယ်အစားကိုပိုမိုတွက်ချက်နိုင်သည်။ ဤသို့ပြုလုပ်ခြင်းသည်ကြားခံသည်အရွယ်အစားမှန်သည်နှင့်မှတ်ဉာဏ်စွန့်ပစ်ပစ္စည်းသို့မဟုတ်ကြားခံဖြိုဖျက်ခြင်းကိုဖြစ်ပေါ်စေသည်မဟုတ်ကြောင်းသေချာစေသည်။
မက်ဆေ့ခ်ျများပေးပို့ခြင်းနှင့်လက်ခံသည့်အခါကျွန်ုပ်တို့သည် socket_cmsg_space မှတဆင့်ထိန်းချုပ်မှုအချက်အလက်များကိုသိမ်းဆည်းရန်နေရာအလုံအလောက်ထားရန်လိုအပ်သည်။ ဖိုင်ဖော်ပြချက်တစ်ခုပို့ရန်လိုအပ်ဟုယူဆခြင်းသည် (ဥပမာ, ScM_Rights ၏စာ) ကိုပို့ရန်လိုအပ်သည်ဟုယူဆပါကဤ function ကိုလိုအပ်သည့်နေရာကိုတွက်ချက်ရန်ဤ function ကိုသုံးနိုင်သည်။
// အသုံးပြုမှုကိုယူဆ UNIX ဒိုမိန်း socket များ
$level = SOL_SOCKET;
$type = SCM_RIGHTS;
// လိုအပ်သော buffer အရွယ်အစားကိုရယူပါ
$space = socket_cmsg_space($level, $type);
echo "လိုအပ်သော buffer အာကာသ:$space ဒရယ်\n";
လိုအပ်သည့်နေရာကိုကျွန်ုပ်တို့သိသည်နှင့်တပြိုင်နက်ကျွန်ုပ်တို့သည်သင့်လျော်စွာအရွယ်ရှိသောကြားခံများကိုပြောင်းလဲခြင်း, မက်ဆေ့ခ်ျပို့သည့်အခါ Buffer အရွယ်အစားကိုပိုမိုကောင်းမွန်စေရန်ဥပမာတစ်ခုဖြစ်သည်။
$socket = socket_create(AF_UNIX, SOCK_STREAM, 0);
// မက်ဆေ့ခ်ျကိုကြားခံ၏အာကာသတွက်ချက်
$space = socket_cmsg_space(SOL_SOCKET, SCM_RIGHTS);
// မက်ဆေ့ခ်ျများကိုကိုင်ထားရန်လုံလောက်သောကြားခံတစ်ခုဖန်တီးပါ
$buffer = str_repeat('A', 1024 + $space);
// ဒေတာပို့ပါ
socket_sendmsg($socket, $buffer);
application တစ်ခုအရမှန်ကန်သောသတင်းစကားကိုရွေးချယ်ခြင်းသည်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်လုပ်ရန်အရေးကြီးသည်။ ဥပမာအားဖြင့် scm_Rights ကို အသုံးပြုခြင်းသည်ဖိုင်ဖော်ပြရန်ဖိုင်များကိုလွှဲပြောင်းသောအခါလွှဲပြောင်းမှုစနစ်ကိုပိုမိုထိရောက်စွာကိုင်တွယ်ရန်ခွင့်ပြုသည်။
Socket_cMsg_space မှတွက်ချက်ထားသည့်တိကျသောနေရာလိုအပ်ချက်များသည် Real-time load နှင့် message အမျိုးအစားအရကြားခံအရွယ်အစားကိုပြောင်းလဲနိုင်သည်။
Multi-Threaded သို့မဟုတ် Multi-Process Real-time systems များတွင်ကျိုးကြောင်းဆီလျော်သယံဇာတမျှဝေခြင်းမဟာဗျူဟာသည်အလွန်အရေးကြီးသည်။ ဤကိစ္စတွင် Socket_CMSG_SPACE အသုံးပြုခြင်းကိုပိုမိုကောင်းမွန်စေရန်အဆင်သင့်သည်ပြိုင်ဆိုင်မှုနှင့်မှတ်ဉာဏ်အငြင်းပွားမှုကိုလျှော့ချနိုင်သည်။
မက်ဆေ့ခ်ျကြားခံများ၏စီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုများကိုပိုမိုကောင်းမွန်စေရန် Socket_cMsg_space function ကိုအသုံးပြုခြင်းအားဖြင့်, အချိန်မှန်စနစ်များသည် Network Community တွင်ပိုမိုထိရောက်စွာထိန်းချုပ်နိုင်သည့်မှတ်ဉာဏ်အသုံးပြုမှုကိုပိုမိုထိရောက်စွာထိန်းချုပ်နိုင်သည်။ အထူးသဖြင့်မြင့်မားသောဝန်နှင့် latency အနိမ့်နှင့်အတူတကယ့်အချိန် applications များ၌ကျိုးကြောင်းဆီလျော်သောကြားခံအရွယ်အစားသည်စနစ်၏စွမ်းဆောင်ရည်ကိုတိုက်ရိုက်သက်ရောက်သည်။ ထို့ကြောင့် developer များသည်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်ရရှိရန် Socket_cMsg_space function ကိုအပြည့်အဝနားလည်ပြီးအသုံးချသင့်သည်။