记录连接时间
parent
5099ba9c96
commit
9ac26be65d
|
@ -3,8 +3,8 @@ const sio = require('socket.io')
|
||||||
const { createHttpTerminator } = require('http-terminator')
|
const { createHttpTerminator } = require('http-terminator')
|
||||||
const modules = require('../modules')
|
const modules = require('../modules')
|
||||||
const { authCode, authConnect } = require('./auth')
|
const { authCode, authConnect } = require('./auth')
|
||||||
const { getAddress, getServerId, generateCode, getClientKeyInfo } = require('./utils')
|
const { getAddress, getServerId, generateCode, getClientKeyInfo, setClientKeyInfo } = require('./utils')
|
||||||
const syncList = require('./syncList')
|
const { syncList, removeSnapshot } = require('./syncList')
|
||||||
const { log } = require('@common/utils')
|
const { log } = require('@common/utils')
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,6 +84,8 @@ const handleStartServer = (port = 9527) => new Promise((resolve, reject) => {
|
||||||
global.lx_event.sync.status(status)
|
global.lx_event.sync.status(status)
|
||||||
})
|
})
|
||||||
const keyInfo = getClientKeyInfo(socket.handshake.query.i)
|
const keyInfo = getClientKeyInfo(socket.handshake.query.i)
|
||||||
|
keyInfo.connectionTime = Date.now()
|
||||||
|
setClientKeyInfo(keyInfo)
|
||||||
// socket.lx_keyInfo = keyInfo
|
// socket.lx_keyInfo = keyInfo
|
||||||
socket.data.keyInfo = keyInfo
|
socket.data.keyInfo = keyInfo
|
||||||
try {
|
try {
|
||||||
|
@ -172,3 +174,5 @@ exports.generateCode = async() => {
|
||||||
global.lx_event.sync.status(status)
|
global.lx_event.sync.status(status)
|
||||||
return status.code
|
return status.code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exports.removeSnapshot = removeSnapshot
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
const path = require('path')
|
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const fsPromises = fs.promises
|
const fsPromises = fs.promises
|
||||||
const { app } = require('electron')
|
const { encryptMsg, decryptMsg, getSnapshotFilePath } = require('./utils')
|
||||||
const { encryptMsg, decryptMsg } = require('./utils')
|
|
||||||
const SYNC_EVENT_NAMES = require('../event/name')
|
const SYNC_EVENT_NAMES = require('../event/name')
|
||||||
const { common: COMMON_EVENT_NAME } = require('@main/events/_name')
|
const { common: COMMON_EVENT_NAME } = require('@main/events/_name')
|
||||||
const { throttle } = require('@common/utils')
|
const { throttle } = require('@common/utils')
|
||||||
|
@ -403,7 +401,7 @@ const registerUpdateSnapshotTask = (socket, snapshot) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const syncList = async socket => {
|
const syncList = async socket => {
|
||||||
socket.data.snapshotFilePath = path.join(app.getPath('userData'), `snapshot-${Buffer.from(socket.data.keyInfo.clientId).toString('hex').substring(0, 10)}.json`)
|
socket.data.snapshotFilePath = getSnapshotFilePath(socket.data.keyInfo)
|
||||||
let fileData
|
let fileData
|
||||||
let isSyncRequired = false
|
let isSyncRequired = false
|
||||||
try {
|
try {
|
||||||
|
@ -423,7 +421,7 @@ const checkSyncQueue = async() => {
|
||||||
await wait()
|
await wait()
|
||||||
return checkSyncQueue()
|
return checkSyncQueue()
|
||||||
}
|
}
|
||||||
module.exports = async(_io, socket) => {
|
exports.syncList = async(_io, socket) => {
|
||||||
io = _io
|
io = _io
|
||||||
await checkSyncQueue()
|
await checkSyncQueue()
|
||||||
syncingId = socket.data.keyInfo.clientId
|
syncingId = socket.data.keyInfo.clientId
|
||||||
|
@ -434,3 +432,7 @@ module.exports = async(_io, socket) => {
|
||||||
syncingId = null
|
syncingId = null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
exports.removeSnapshot = keyInfo => {
|
||||||
|
const filePath = getSnapshotFilePath(keyInfo)
|
||||||
|
return fsPromises.unlink(filePath)
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
const { app } = require('electron')
|
||||||
const { networkInterfaces } = require('os')
|
const { networkInterfaces } = require('os')
|
||||||
const { randomBytes, createCipheriv, createDecipheriv } = require('crypto')
|
const { randomBytes, createCipheriv, createDecipheriv } = require('crypto')
|
||||||
|
const path = require('path')
|
||||||
const getStore = require('@common/store')
|
const getStore = require('@common/store')
|
||||||
const STORE_NAME = 'sync'
|
const STORE_NAME = 'sync'
|
||||||
|
|
||||||
|
@ -91,3 +93,7 @@ exports.decryptMsg = (keyInfo, enMsg) => {
|
||||||
// }
|
// }
|
||||||
// return msg
|
// return msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exports.getSnapshotFilePath = keyInfo => {
|
||||||
|
return path.join(app.getPath('userData'), `snapshot-${Buffer.from(keyInfo.clientId).toString('hex').substring(0, 10)}.json`)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue