看板 PHP 關於我們 聯絡資訊
chinsummer :設定timeout去檢查即可... 08/19 21:31
cafedelmar :session是用戶進入聊天室後才寫入..也一併寫到資料庫 08/19 21:49
cafedelmar :假如使用者有做動作則session的time會更新用來判斷 08/19 21:50
cafedelmar :閒置時間..那假如使用者把視窗關了..session會因為 08/19 21:51
cafedelmar :php設定的life time而自行消失..不過資料庫的資料 08/19 21:51
cafedelmar :就不知道要靠什麼去讓他自行刪除了... 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
starjou :那潛水的就老被踢了 08/19 22:04
chinsummer :要預防假踢人有其他方法,例如被踢之後不會把他登出 08/19 22:07
chinsummer :只是不顯示在名單李,然後暫停他的螢幕顯示之類的 08/19 22:07
cafedelmar :非常感謝您的幫忙..會集合大家的說明再去做..感謝呀 08/19 22:20