rename wssServer to wsServer

This commit is contained in:
陆柯 2022-09-10 20:32:17 +08:00
parent b4229ebc57
commit ac76575e4f

View File

@ -2,18 +2,18 @@ const ws = require('ws')
const webtoken = require('wo-base-webtoken') const webtoken = require('wo-base-webtoken')
const my = { const my = {
wssServer: undefined, wsServer: undefined,
socketPool: {}, socketPool: {},
listeners: {}, listeners: {},
} }
module.exports = { module.exports = {
initSocket (webServer) { initSocket (webServer) {
my.wssServer = new ws.Server({ server: webServer }) my.wsServer = new ws.Server({ server: webServer })
console.info('App Socket Server attached to web server.') console.info('Base Socket Server is initialized.')
my.wssServer.on('connection', (socket, req) => { my.wsServer.on('connection', (socket, req) => {
console.info(`A socket from App Client is connected from ${req.connection.remoteAddress}:${req.connection.remotePort}.`) console.info(`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() { console.log('👈 ASS: on Pong'); this.isAlive = true })
@ -43,6 +43,15 @@ module.exports = {
}) })
}) })
// 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) })
return this return this
}, },
@ -60,7 +69,7 @@ module.exports = {
}, },
sendToAll (dataObj) { sendToAll (dataObj) {
my.wssServer.clients.forEach((socket) => { my.wsServer.clients.forEach((socket) => {
if (socket.readyState === socket.OPEN) { if (socket.readyState === socket.OPEN) {
socket.send(typeof dataObj !== 'string' ? JSON.stringify(dataObj) : dataObj) socket.send(typeof dataObj !== 'string' ? JSON.stringify(dataObj) : dataObj)
} else { } else {