我有一個使用 NextJS 制作的網路聊天應用程式,我想在關閉選項卡時將用戶從聊天中踢出,但在用戶重繪 選項卡時沒有任何操作。我怎樣才能做到這一點?移動設備也必須有解決方案嗎?
uj5u.com熱心網友回復:
如果你有一個聊天應用程式,你幾乎肯定會使用 websockets。如果用戶沒有其他活動的套接字,則在他們的套接字關閉后一分鐘將用戶從聊天中踢出。
在服務器上,監控每個用戶的 websocket 的打開和關閉。當用戶打開 websocket 時,將該套接字與服務器記憶體中的用戶相關聯。當用戶關閉 websocket(這可能是用戶關閉頁面/瀏覽器或重繪 頁面的結果)時,檢查他們是否有任何其他活動的套接字。如果沒有,設定一個超時時間,比如說,從現在開始一分鐘。當那一分鐘結束時,檢查用戶是否仍然沒有活動的套接字。如果沒有,那么他們還沒有重繪 頁面;他們已經完全關閉了,所以踢他們。如果是這樣,那么他們已經重新連接并且不應該被踢。
每當用戶連接新的 websocket 時,還要清除與用戶關聯的超時。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504701.html
標籤:javascript 打字稿 网络 浏览器