'use strict'; const moment = require('moment') module.exports = async function factory (app, opts) { app.socket.on('connection', async (socket) => { console.info('WEB_SOCKET token:' + socket.handshake.query.token + ' 已连接:id ' + socket.id + ' 时间:' + moment(socket.handshake.time).format()); socket.on('disconnecting', async (reason) => { const connectSeconds = moment().diff(moment(socket.handshake.time), 'seconds') console.info('WEB_SOCKET token:' + socket.handshake.query.token + ' 已断开连接:' + reason + ' 连接时长:' + connectSeconds + 's'); }) }) // 使用测试 保持链接 // setInterval(async () => { // const { connected } = app.socket.sockets // const roomId = 'ROOM_' + Math.random() // // if (connected) { // // for (let c in connected) { // // connected[c].join(roomId) // // } // // app.socket.to(roomId).emit('TEST', { someProperty: `【星域 ROOM:${roomId}】呼叫自然选择号!!!`, }) // // } // app.socket.emit('TEST', { someProperty: '【广播】呼叫青铜时代号!!!', }) // }, 3000) }