限制一個用戶同時只能一人在線

這裏提供一種解決辦法, 歡迎你們指正php

(使用php語言)服務器

不少狀況下,需求會出現, 某個頁面統一時間用戶的帳戶只能一人在線, (例如觀看視頻)spa

首先是建立一個在線記錄表單:視頻

Online表單

(UID, Sign , Flag, AddTime)請求

 其中UID爲用戶ID, Sign爲用戶機器標誌 , Flag爲在線標誌im

處理邏輯:數據

在該頁面, 用js寫上, setInterval定時向服務器請求數據(在線狀況)查詢

獲取返回數據 「online」, 「offline」, 而後判斷是不是否退出系統異常

服務器段, 接受請求後, 獲取用戶UID, 機器標誌, 而後去Online表中查詢

存在記錄--》查看Flag是否爲真---->是----》返回 online

                                            ----->否----》銷燬該條記錄, 退出系統 , 返回 offline

不存在記錄-》添加記錄, 同時表示標記同一UID的其餘記錄Flag爲假--》繼續  返回 online

 

缺點:

須要js支持

要是某用戶, 在線, 異常關閉頁面, 沒有修改Flag標誌, 其餘用戶須要兩次方可正常進入該頁面

相關文章
相關標籤/搜索