這裏提供一種解決辦法, 歡迎你們指正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標誌, 其餘用戶須要兩次方可正常進入該頁面