You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
32 lines
1.2 KiB
2 years ago
|
'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)
|
||
|
}
|