This commit is contained in:
陆柯 2023-09-06 14:04:12 +08:00
parent 7fd8868290
commit 9761c3cc6f

View File

@ -20,10 +20,10 @@ module.exports = {
socket.on('message', (data) => {
// 在这里统一分发消息
console.log('App Socket Client message: ', data)
let dataObj
try {
dataObj = JSON.parse(data)
console.log('收到 App Socket Event: ', dataObj?.skevent)
} catch (exception) {
console.log(new Date().toJSON(), 'Unable to parse socket message: ', data)
return
@ -32,12 +32,15 @@ module.exports = {
dataObj._passtokenSource = webtoken.verifyToken(dataObj._passtoken)
if (typeof dataObj._passtokenSource?.usid === 'string') {
my.socketPool[dataObj._passtokenSource.usid] = socket
socket.usid = dataObj._passtokenSource.usid
console.log(
dataObj.skevent === 'SOCKET_OWNER' ? 'Login 成功' : 'Reconnect 成功',
dataObj.skevent === 'SOCKET_OWNER' ? 'Login' : 'Reconnect',
'绑定 socket 到',
dataObj._passtokenSource.usid,
'socketPool.length =',
Object.keys(my.socketPool)?.length
Object.keys(my.socketPool)?.length,
', socket clients size =',
my.wsServer.clients.size
)
}
}
@ -47,16 +50,21 @@ module.exports = {
listener(dataObj)
}
})
})
// const heartbeat = setInterval(() => {
// my.wsServer.clients.forEach((socket) => {
// if (socket.isAlive === false) return socket.terminate()
// socket.isAlive = false
// socket.ping(function() { wo.cclog('👉 ASS: sent Ping') })
// })
// }, 30000)
// my.wsServer.on('close', () => { clearInterval(heartbeat) })
// const heartbeat = setInterval(() => {
// my.wsServer.clients.forEach((socket) => {
// if (socket.isAlive === false) return socket.terminate()
// socket.isAlive = false
// socket.ping(function() { wo.cclog('👉 ASS: sent Ping') })
// })
// }, 60000)
socket.on('close', () => {
console.log('Closing socket of usid =', socket?.usid)
delete my.socketPool[socket?.usid]
// clearInterval(heartbeat)
})
})
return this
},