我有一個socket.io客戶端,需要監聽如果特定用戶登錄/退出我socket.io服務器 我所做的是創建一個函數,它接受用戶ID的數組,回調其返回用戶信息如果他登錄/註銷。下面的代碼:是否socket.io發出大量的處理能力?
this.onUserConnected = function(arrayOfUserID,cb){
if(typeof arrayOfUserID != 'object'){
return console.error('1st parameter is not an array');
}
socket.on('onUserConnected', function(user) {
if(arrayOfUserID.indexOf(user.user_id) > -1){
cb(user)
}
})
}
this.onUserDisconnected = function(arrayOfUserID,cb){
if(typeof arrayOfUserID != 'object'){
return console.error('onUserDisconnected 1st parameter is not an array');
}
socket.on('onUserDisconnected', function(user) {
if(arrayOfUserID.indexOf(user.user_id) > -1){
cb(user)
}
})
}
這裏是socket.io服務器代碼:
//Some authentication here which check and get the user if he exists
socket.emit('onUserConnected', user)
是好,我發出了用戶所有連接的插座?並且在客戶端,我獲取登錄/註銷的所有用戶並檢查user_id是否等於arrayOfUserID中的某個值然後返回它是否好?
注:我知道Socket.io客房,但在我的應用程序處理多個標籤,和我有一個動態的命名空間
你只調用一次'this.onUserConnected()'還是你用不同的參數多次調用它? – jfriend00
@ jfriend00只有一次 –