0
我在socket.io中有一個事件,它向用戶廣播有多少用戶在線(基於誰登錄)。Socket.IO - setInverval每兩分鐘(Node JS)
我認爲應該發生的事情是,我要求服務器查詢一次使用每兩分鐘setInterval
數據庫,而行集返回,然後被髮射到客戶端。
發生了什麼雖然,是爲每個用戶連接到套接字,它正在調用服務器上的數據庫並推送到客戶端。
我不確定爲什麼會是這樣做的 - 我明白,如果我要求它從客戶端做到這一點,但它的發射事件到客戶端對服務器,爲什麼會做這個每個用戶連接幾次?
感謝
io.on("connection", function(socket) {
// Update online users' every two minutes
setInterval(function() {
var roomNum = 0;
var outObj = {};
model.get_online_users(function(err, rowset) {
// Loop thorugh the rowset, set the roomNum and built up out_obj to output
io.to("room_number:"+roomNum).emit("online-users", outObj);
}); // End `model callback`
}, 120000); // End `get_online_users`
}); // End `io.on("connection")`
謝謝雷米 - 這是解決它。 * facepalm * – doublesidedstickytape
很高興聽到它!如果需要,我添加了一個例子。 –