This commit is contained in:
Luk 2024-01-16 22:16:21 +08:00
parent c62f0211b7
commit 35083bb325

View File

@ -10,22 +10,22 @@ const my = {
module.exports = { module.exports = {
initSocket (webServer) { initSocket (webServer) {
my.wsServer = new ws.Server({ server: webServer }) my.wsServer = new ws.Server({ server: webServer })
console.info(new Date().toJSON(), 'Base Socket Server is initialized.') console.info(new Date().toJSON(), '[LOG] Base Socket Server is initialized.')
my.wsServer.on('connection', (socket, req) => { my.wsServer.on('connection', (socket, req) => {
//console.info(`A socket is connecting from ${req.connection.remoteAddress}:${req.connection.remotePort}.`) //console.info(new Date().toJSON(), `[LOG] A socket is connecting from ${req.connection.remoteAddress}:${req.connection.remotePort}.`)
// socket.isAlive = true // socket.isAlive = true
// socket.on('pong', function() { console.log('👈 ASS: on Pong'); this.isAlive = true }) // socket.on('pong', function() { this.isAlive = true })
socket.on('message', (data) => { socket.on('message', (data) => {
// 在这里统一分发消息 // 在这里统一分发消息
let dataObj let dataObj
try { try {
dataObj = JSON.parse(data) dataObj = JSON.parse(data)
console.log(new Date().toJSON(), '收到 App Socket Event: ', dataObj?.skevent) console.log(new Date().toJSON(), '[LOG] 收到 App Socket Event: ', dataObj?.skevent)
} catch (exception) { } catch (exception) {
console.log(new Date().toJSON(), 'Unable to parse socket message: ', data) console.log(new Date().toJSON(), '[LOG] Unable to parse socket message: ', data)
return return
} }
if (['SOCKET_OWNER', 'SOCKET_OWNER_RECONNECT'].includes(dataObj.skevent)) { if (['SOCKET_OWNER', 'SOCKET_OWNER_RECONNECT'].includes(dataObj.skevent)) {
@ -34,7 +34,7 @@ module.exports = {
my.socketPool[dataObj._passtokenSource.usid] = socket my.socketPool[dataObj._passtokenSource.usid] = socket
socket.usid = dataObj._passtokenSource.usid socket.usid = dataObj._passtokenSource.usid
console.log( console.log(
new Date().toJSON(), new Date().toJSON(), '[LOG]',
dataObj.skevent === 'SOCKET_OWNER' ? 'Login' : 'Reconnect', dataObj.skevent === 'SOCKET_OWNER' ? 'Login' : 'Reconnect',
'绑定 socket 到', '绑定 socket 到',
dataObj._passtokenSource.usid, dataObj._passtokenSource.usid,
@ -61,7 +61,7 @@ module.exports = {
// }, 60000) // }, 60000)
socket.on('close', () => { socket.on('close', () => {
//console.log('Closing socket of usid =', socket?.usid) // don't know why, but this output happens too often without usid. //console.log(new Date().toJSON(), '[LOG] Closing socket of usid =', socket?.usid) // don't know why, but this output happens too often without usid.
delete my.socketPool[socket?.usid] delete my.socketPool[socket?.usid]
// clearInterval(heartbeat) // clearInterval(heartbeat)
}) })