我試圖在NodeJS中創建一個隊列系統,以便只有20個連接能夠一次訪問某個頁面。現在我使用shortid和javascript localStorage(存儲他們的ID)爲每個用戶分配一個唯一的ID。我想給每個用戶1分鐘的時間看內容,然後引導他們「重新排隊」。如果他們必須等待,它會告訴他們「你將在XX分鐘內連接」。用於連接的NodeJS隊列系統過去20
現在我的過程是使用http.globalAgent.maxSockets = 20;
只允許20人進入,但它不允許我將它們路由到其他地方讓他們等待。我的想法是建立一個數據庫,以確定人們「排隊」的順序。然後,當用戶在1分鐘後被踢出頁面時,下一個「在線」用戶將被帶入並給出1分鐘,然後被踢出。
我正在使用MySQL來存儲隊列。問題是我不知道如何完成代碼以在一分鐘後啓動某個人,並讓他們「重新聯機」。任何幫助?謝謝!
目前尚不清楚你想要控制的是什麼。您是否想要控制有多少人可以同時查看網頁?因爲查看與'http.globalAgent.maxSockets'沒有任何關係,並且不是你的服務器可以直接控制的東西。查看常規網頁的瀏覽器在查看時未連接到服務器。建立一個或多個連接以檢索頁面內容,然後在檢索到頁面內容後關閉連接。這在不同版本的HTTP中稍有不同。 – jfriend00
你爲什麼要使用localStorage?一個cookie就足夠了,並且具有更好的瀏覽器兼容性。 – tsturzl