Skip to content

Commit 3fcc60b

Browse files
committed
Add kill & reconnect socket events
1 parent 236118d commit 3fcc60b

File tree

1 file changed

+69
-49
lines changed

1 file changed

+69
-49
lines changed

Diff for: src/lib/socket.ts

+69-49
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,74 @@
1-
import { Server } from "ws";
2-
import db from "./db";
3-
import rpc from "./rpc";
1+
import { Server } from 'ws';
2+
import db from './db';
3+
import rpc from './rpc';
44

55
export default async function() {
6-
const WebSocketServer = new Server({ port: 8080, host: "127.0.0.1" });
7-
WebSocketServer.on("connection", socket => {
8-
socket.on("message", async (message) => {
9-
socket.send(JSON.stringify({msg: "Hello World"}));
6+
const WebSocketServer = new Server({ port: 8080, host: '127.0.0.1' });
7+
WebSocketServer.on('connection', socket => {
8+
socket.on('message', async message => {
9+
socket.send(JSON.stringify({ msg: 'Hello World' }));
1010

11-
const msg: string = message.toString();
11+
const msg: string = message.toString();
1212

13-
if(msg.startsWith("req_")) {
14-
switch (msg.slice("req_".length)) {
15-
case "data":
16-
{
17-
socket.send(JSON.stringify({
18-
type: "data",
19-
data: db.getData("/")
20-
}))
21-
}
22-
break;
23-
case "rpc_start":
24-
{
25-
rpc.startRPC();
26-
socket.send(JSON.stringify({
27-
type: "confirm", data: "rpc_start"
28-
}))
29-
}
30-
break;
31-
case "rpc_stop":
32-
{
33-
rpc.stopRPC();
34-
socket.send(JSON.stringify({
35-
type: "confirm", data: "rpc_stop"
36-
}))
37-
}
38-
break;
39-
}
40-
} else if (msg.startsWith("save_")) {
41-
const data = JSON.parse(msg.slice("save_".length));
42-
const path = data.path;
43-
const data2 = data.data;
44-
await db.push(path, data2);
45-
socket.send(JSON.stringify({
46-
type: "confirm",
47-
data: "save"
48-
}))
49-
}
50-
});
51-
});
13+
if (msg.startsWith('req_')) {
14+
switch (msg.slice('req_'.length)) {
15+
case 'data':
16+
{
17+
socket.send(
18+
JSON.stringify({
19+
type: 'data',
20+
data: db.getData('/'),
21+
})
22+
);
23+
}
24+
break;
25+
case 'rpc_start':
26+
{
27+
rpc.startRPC();
28+
socket.send(
29+
JSON.stringify({
30+
type: 'confirm',
31+
data: 'rpc_start',
32+
})
33+
);
34+
}
35+
break;
36+
case 'rpc_stop':
37+
{
38+
rpc.stopRPC();
39+
socket.send(
40+
JSON.stringify({
41+
type: 'confirm',
42+
data: 'rpc_stop',
43+
})
44+
);
45+
}
46+
break;
47+
case 'rpc_kill':
48+
{
49+
rpc.killRPC();
50+
}
51+
break;
52+
case 'rpc_reconnect':
53+
{
54+
rpc.reconnect();
55+
}
56+
break;
57+
}
58+
} else if (msg.startsWith('save_')) {
59+
const data = JSON.parse(msg.slice('save_'.length));
60+
const path = data.path;
61+
const data2 = data.data;
62+
await db.push(path, data2);
63+
socket.send(
64+
JSON.stringify({
65+
type: 'confirm',
66+
data: 'save',
67+
})
68+
);
69+
}
70+
});
71+
});
5272

53-
return WebSocketServer;
54-
}
73+
return WebSocketServer;
74+
}

0 commit comments

Comments
 (0)