jsir 2.3.6 → 2.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deps/room.js +7 -7
- package/deps/server.js +19 -18
- package/package.json +1 -1
package/deps/room.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const os = require('os');
|
|
2
2
|
const {fileJson, fileLock, vl, createConsole, getKeyTips, getValTips,
|
|
3
3
|
getRoomsDir, e, regEach} = require('./util');
|
|
4
|
-
const
|
|
4
|
+
const {setRoute} = require('../deps/server')
|
|
5
5
|
const roomDataFile = "jsirRoom.json"
|
|
6
6
|
const roomsDirLockKey = "RW_" + getRoomsDir();
|
|
7
7
|
const syncRoomsLockKey = "SyncRooms_" + getRoomsDir();
|
|
@@ -30,8 +30,8 @@ function isPidAlive(pid) {
|
|
|
30
30
|
function onRoom() {
|
|
31
31
|
if (!setting.roomTid[0]) {
|
|
32
32
|
try {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
setRoute("post", "/", (req, res) => setting.selfRoom)
|
|
34
|
+
setRoute("get", "/", (req, res) => setting.selfRoom)
|
|
35
35
|
} catch (e) {
|
|
36
36
|
console.$error("initRoute failed", e)
|
|
37
37
|
}
|
|
@@ -166,9 +166,9 @@ async function _syncSetting(room) {
|
|
|
166
166
|
}
|
|
167
167
|
setting.rooms = [setting.selfRoom, ...rooms]
|
|
168
168
|
.map(room => {
|
|
169
|
-
room.active = Date.now() - (room.lastUpdateTime || 0) <=
|
|
169
|
+
room.active = Date.now() - (room.lastUpdateTime || 0) <= 9000;
|
|
170
170
|
Object.entries(room.jsirs).forEach(([key, jsir]) =>
|
|
171
|
-
jsir.active = Date.now() - (jsir.lastUpdateTime || 0) <=
|
|
171
|
+
jsir.active = Date.now() - (jsir.lastUpdateTime || 0) <= 9000)
|
|
172
172
|
return room;
|
|
173
173
|
});
|
|
174
174
|
}
|
|
@@ -177,7 +177,7 @@ async function initRoom() {
|
|
|
177
177
|
let roomUpdateTouchTime = false;
|
|
178
178
|
await fileJson(roomDataFile, async room => {
|
|
179
179
|
await initRoomJsir(room)
|
|
180
|
-
if (!vl(room.lastUpdateTime) || (Date.now() - room.lastUpdateTime) >
|
|
180
|
+
if (!vl(room.lastUpdateTime) || (Date.now() - room.lastUpdateTime) > 3000) {
|
|
181
181
|
roomUpdateTouchTime = true;
|
|
182
182
|
}
|
|
183
183
|
})
|
|
@@ -214,7 +214,7 @@ async function initRoomJsir(room) {
|
|
|
214
214
|
busy: await getEventLoopDelay(),
|
|
215
215
|
back: isRunningInBackground(),
|
|
216
216
|
lastUpdateTime: Date.now(),
|
|
217
|
-
port: setting.server.address().port
|
|
217
|
+
port: setting.server ? setting.server.address().port:null
|
|
218
218
|
}
|
|
219
219
|
console.$log("init jsir", process.pid)
|
|
220
220
|
}
|
package/deps/server.js
CHANGED
|
@@ -2,15 +2,14 @@ const http = require('http');
|
|
|
2
2
|
const {createConsole, vl} = require('./util');
|
|
3
3
|
const console = createConsole();
|
|
4
4
|
const setting = require('../deps/setting')
|
|
5
|
-
|
|
6
5
|
// 尝试监听的端口
|
|
7
6
|
const preferredPort = 52108;
|
|
8
|
-
|
|
9
7
|
// 路由存储
|
|
10
8
|
const routes = {};
|
|
9
|
+
let invokeStart = false;
|
|
11
10
|
|
|
12
11
|
// 创建一个 HTTP 服务
|
|
13
|
-
function createServer(port) {
|
|
12
|
+
async function createServer(port) {
|
|
14
13
|
const server = http.createServer(async (req, res) => {
|
|
15
14
|
const method = req.method.toLowerCase();
|
|
16
15
|
const url = req.url;
|
|
@@ -25,26 +24,28 @@ function createServer(port) {
|
|
|
25
24
|
}
|
|
26
25
|
});
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
return await new Promise((resolve, reject) => {
|
|
28
|
+
server.listen(port, () => {
|
|
29
|
+
const address = server.address();
|
|
30
|
+
console.$log(`Server listening on port ${address.port}`);
|
|
31
|
+
resolve(server)
|
|
32
|
+
});
|
|
33
|
+
server.on('error', (err) => {
|
|
34
|
+
console.$log(`Error occurred: ${err.message}`);
|
|
35
|
+
reject(err)
|
|
36
|
+
});
|
|
37
|
+
})
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// 尝试启动服务的逻辑
|
|
41
|
-
function startServer() {
|
|
42
|
-
if (!
|
|
41
|
+
async function startServer() {
|
|
42
|
+
if (!invokeStart) {
|
|
43
|
+
invokeStart = true;
|
|
43
44
|
try {
|
|
44
|
-
setting.server = createServer(preferredPort);
|
|
45
|
+
setting.server = await createServer(preferredPort);
|
|
45
46
|
} catch (e) {
|
|
46
|
-
console.$
|
|
47
|
-
setting.server = createServer(0);
|
|
47
|
+
console.$log("startServer failed, try other port")
|
|
48
|
+
setting.server = await createServer(0);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}
|