Re: [請益] 關於聊天室的幾個問題

看板PHP作者 (ChinSummer)時間16年前 (2008/08/19 21:57), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串3/4 (看更多)

08/19 21:31,
設定timeout去檢查即可...
08/19 21:31

08/19 21:49,
session是用戶進入聊天室後才寫入..也一併寫到資料庫
08/19 21:49

08/19 21:50,
假如使用者有做動作則session的time會更新用來判斷
08/19 21:50

08/19 21:51,
閒置時間..那假如使用者把視窗關了..session會因為
08/19 21:51

08/19 21:51,
php設定的life time而自行消失..不過資料庫的資料
08/19 21:51

08/19 21:52,
就不知道要靠什麼去讓他自行刪除了...
08/19 21:52
作一個自己的session處理函式,或者是你要用現成的session也可以。 $session['last_move'] = 上次動作時間 或者是秒數 隨你 這個值也要存進資料庫 然後每次user發言,user頁面更新,線上名單更新,或者是ajax動作, 都會去修改那個$session['last_move'] 身為聊天室程式,一定會有一兩隻小程式是會一直被執行到的, 你就在那一兩隻程式裡面加入檢查資料庫中的 $database[$user][$lastmove] 是否有超過你設定的timeout, 例如300秒. 這樣就可以做到300秒user無動作時,把他從名單中刪除... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.162.151.222

08/19 22:04, , 1F
那潛水的就老被踢了
08/19 22:04, 1F

08/19 22:07, , 2F
要預防假踢人有其他方法,例如被踢之後不會把他登出
08/19 22:07, 2F

08/19 22:07, , 3F
只是不顯示在名單李,然後暫停他的螢幕顯示之類的
08/19 22:07, 3F

08/19 22:20, , 4F
非常感謝您的幫忙..會集合大家的說明再去做..感謝呀
08/19 22:20, 4F
文章代碼(AID): #18gj57uM (PHP)
討論串 (同標題文章)
文章代碼(AID): #18gj57uM (PHP)