Real-time chat စနစ်သည်ခေတ်သစ်လူမှုရေးပလက်ဖောင်းများ၏အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်လာသည်။ PHP သည်လူကြိုက်အများဆုံး web programming ဘာသာစကားများထဲမှတစ်ခုဖြစ်သောကြောင့်ဤဆောင်းပါးသည်အွန်လိုင်း status display နှင့်အွန်လိုင်းအသုံးပြုသူစာရင်းအင်းဆိုင်ရာလုပ်ဆောင်မှုများကိုကြည့်ရှုရန် PHP ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ PHP ၏ Session ယန္တရားမှတစ်ဆင့်အွန်လိုင်းအဆင့်အတန်းကိုမည်သို့စီမံခန့်ခွဲရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
Online Status display သည် chat system တွင်အရေးကြီးသောညွှန်ပြချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်အသုံးပြုသူသည်အွန်လိုင်းဟုတ်မဟုတ်ကိုရောင်ပြန်ဟပ်နိုင်သည်။ chat system ၏ interface တွင်အသုံးပြုသူများသည်များသောအားဖြင့်သူတို့ဆက်သွယ်ပြောဆိုနေသောအရာဝတ်ထုသည်အွန်လိုင်းမှာအွန်လိုင်းမှာပါ 0 င်သည်။ အွန်လိုင်း status display ကိုသိရှိရန် PHP ၏ Session ယန္တရားကိုအသုံးပြုရန်လိုအပ်သည်။
Session ဆိုသည်မှာအသုံးပြုသူအချက်အလက်များကိုသိမ်းဆည်းရန် Web Programming တွင်အသုံးပြုသော protocol တစ်ခုဖြစ်သည်။ Session မှတစ်ဆင့် Web applications များသည်သုံးစွဲသူ၏ browser cookies များရှိဒေတာများကိုသိုလှောင်မည့်အစားအသုံးပြုသူနှင့်သက်ဆိုင်သောအချက်အလက်များကိုဆာဗာဘက်မှသိမ်းဆည်းနိုင်သည်။ ဤနည်းအားဖြင့်ဤ session သည်စာမျက်နှာများအကြားသတင်းအချက်အလက်များကိုမျှဝေပေးပြီးအသုံးပြုသူအစည်းအဝေးအခြေအနေကိုထိရောက်စွာစီမံနိုင်သည်။
အသုံးပြုသူသည် chat system ထဲသို့ဝင်ရောက်သောအခါဆာဗာသည် session တစ်ခုစတင်ပြီးအသုံးပြုသူ login အချိန်ကိုမှတ်တမ်းတင်သည်။ အသုံးပြုသူတောင်းဆိုသည့်အခါတိုင်းစနစ်သည် system သက်တမ်းကုန်ဆုံးမှုရှိမရှိစစ်ဆေးသည်။ အကယ်. session သက်တမ်းကုန်ဆုံးပါကအသုံးပြုသူအားအော့ဖ်လိုင်းတွင်မှတ်သားထားပြီး၎င်း၏အွန်လိုင်းအဆင့်အတန်းကိုဒေတာဘေ့စ်မှဖျက်ပစ်လိမ့်မည်။ အကယ်. သင်ခန်းစာသက်တမ်းကုန်ဆုံးမသွားပါကစနစ်သည်၎င်း၏အွန်လိုင်းအဆင့်အတန်းကိုအချိန်မှန်တွင်ထင်ဟပ်စေရန်အသုံးပြုသူ၏အွန်လိုင်းအခြေအနေကိုအသစ်ပြောင်းလိမ့်မည်။
အောက်ဖော်ပြပါသည်နမူနာကုဒ်ဖြစ်သည်။ အွန်လိုင်း status display function ကိုအကောင်အထည်ဖော်သည့်နမူနာကုဒ်ဖြစ်သည်။
Session_Start (); // session ကိုစတင်ပါ အကယ်. (ISSET (_ _ session ['session]) && (time _session [' last_activity ']> 60) // အသုံးပြုသူအော့ဖ်လိုင်း $ user_id = $ _session ['user_id']; // အသုံးပြုသူအဆင့်အတန်း $ query = "` `` `` `` `` `user_id` '$ user_id` `$ user_id' ', $ ရလဒ် = MySQLI_QUERY ($ link, $ query); // ရှင်းလင်းသော session တစ်ခု session_unset (); session_destroy (); } အခြား // အသုံးပြုသူအွန်လိုင်း $ user_id = $ _session ['user_id']; // Update user status $query = "UPDATE `users_online` SET `last_activity` = NOW() WHERE `user_id` = '$user_id'"; $ ရလဒ် = MySQLI_QUERY ($ link, $ query); }
အွန်လိုင်းသုံးစွဲသူများစာရင်းဇယားသည် chat system တွင်နောက်ထပ်အဓိကအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ အွန်လိုင်းအသုံးပြုသူအရေအတွက်သည်အွန်လိုင်းအသုံးပြုသူအရေအတွက်ကိုပုံမှန်မေးမြန်းရန် PHP ၏ timer ယန္တရားပေါ်တွင်မူတည်သည်။
Timer သည်တိကျသောအချိန်ကြားကာလအတွင်းကုဒ်ကိုလုပ်ဆောင်နိုင်သည့်ယန္တရားတစ်ခုဖြစ်သည်။ PHP ရှိ Timers များသည်မဲရုံ 0 င်ရောက်စွက်ဖက်ခြင်းအားဖြင့်ကြိုတင်သတ်မှတ်ထားသောအချိန်အချက်များတွင် script လုပ်ငန်းများကိုအလိုအလျောက်အကောင်အထည်ဖော်ရန်ခွင့်ပြုသည်။
PHP Timer ကို အသုံးပြု. အွန်လိုင်းအသုံးပြုသူစားပွဲကိုကျွန်ုပ်တို့အခါအားလျော်စွာစစ်တမ်းကောက်ယူနိုင်ပြီးလက်ရှိအွန်လိုင်းအသုံးပြုသူအရေအတွက်ကိုရေတွက်နိုင်သည်။ အောက်ဖော်ပြပါသည် online user counting ကိုအကောင်အထည်ဖော်သည့် HeartBeat Timer ၏နမူနာကုဒ်ဖြစ်သည်။
set_time_limit (0); // PHP Timer ကိုအသုံးပြုပါ $ query = "` users_activity` day_sub (ယခု (ယခု (ယခု (ယခု (ယခု (ယခု), $ ရလဒ် = MySQLI_QUERY ($ link, $ query); $ online_Users = MySQLI_FETCE_ARRAY ($ ရလဒ်, MySQLI_ARTSOC) ['online_users'); ECHO "လက်ရှိလူ ဦး ရေအရေအတွက် -" ။ $ online_users; ob_flush (); flush (); အိပ် (10), // 10 စက္ကန့်တိုင်း question}
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏အွန်လိုင်းစားပွဲ၌စဉ်ဆက်မပြတ်မဲရုံများကိုစဉ်ဆက်မပြတ်စစ်တမ်းကောက်ယူရန်အဆုံးမဲ့ကွင်းဆက်ကိုအသုံးပြုသည်။ ob_flush () နှင့် flush () functions () functions မှတဆင့်အွန်လိုင်းအသုံးပြုသူအရေအတွက်သည်အချိန်နှင့်အမျှ output ကိုထုတ်လုပ်သည်။ Polding Interval သည်ကျိုးကြောင်းဆီလျော်ကြောင်းသေချာစေရန် 10 စက္ကန့်တိုင်းပရိုဂရမ်ကိုဆိုင်းငံ့ထားလိမ့်မည်။
အွန်လိုင်း activing display နှင့်အွန်လိုင်းအသုံးပြုသူအရေအတွက်သည် chat system တွင်မရှိမဖြစ်လိုအပ်သောအင်္ဂါရပ်များဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ၏ Session Session စနစ်ကိုအသုံးပြုနည်းကိုမိတ်ဆက်ပေးပြီးအသုံးပြုသူများကိုအွန်လိုင်းအသုံးပြုသူအရေအတွက်ကို Times မှတစ်ဆင့်မည်သို့ရေတွက်ရမည်ကိုမိတ်ဆက်ပေးသည်။ ဤနည်းပညာများမှတစ်ဆင့် developer များသည်သုံးစွဲသူများ၏အွန်လိုင်းအဆင့်အတန်းကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်ပြီးသုံးစွဲသူများကိုအချိန်နှင့်တပြေးညီတုံ့ပြန်ချက်များပေးနိုင်သည်။