我覺得你寫的time1和time2有點怪怪的耶 雖然不是很了解 但是看過你的說明後我覺得
time1是代表現在時間嗎? 那可以要用的時候直接呼叫有關的函式就好啦
我提個建議的作法吧 把每個使用者的資料放在一個環狀佇列裡 每個使用者有一欄資料
是"上次更新時間"
當一個使用者讀取網頁時 先更新"上次更新時間"為現在 再往下檢查別人的"上次更新時間
"有沒有超過n秒 有的話就把他踢掉(PHP的作法應該是用MEMORY TABLE吧 那用SQL的DELETE
就好了) 直到檢查到某個人的"上次更新時間"沒有超過n秒就停止(可能是繞一圈檢查到自
已) 因為接下來那個人更新時會幫你檢查下面的人的時間 或著那個人也下線的話 你下
次更新就會檢查到他
這樣寫不知道能不能看的懂
---
總之這些都是雕蟲小技.... 我寫的時候是自已想的(那時用ASP) 後來發現網路上很
多聊天室的作法也差不多
※ 引述《kuoelec.bbs@bbs.ccns.ncku.edu.tw (自己的選擇)》之銘言:
: ※ 引述《drkkimo.bbs@ptt.cc (Dr.K)》之銘言:
: > 較好的方式是靠不斷重新整理頁面來跟Server回報你在線 要不然就是透過一些Plug-in
: > 的物件(像JAVA Appplet或ActvieX...etc) 來保持持續連線 ...
: > 如果寫過聊天室...就知道我所說的了
: 我是用不斷重新整理頁面來保持跟server的聯繫
: 但我希望能夠在server端自動更新time值
: 而不需要藉由client端來更新
: 而且我目前需要設兩個time(time1和time2)欄位的值差異來判斷是否在線上
: 有辦法只用一個值來判斷嗎?
: 還是可以偵測當使用者按下X(關閉視窗紐)時
: 就傳一個值回database?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.65.115.165
※ 編輯: drkkimo 來自: 61.65.115.165 (02/02 19:44)
※ 編輯: drkkimo 來自: 61.65.115.165 (02/02 19:48)