add SmartWebSocketServer
This commit is contained in:
parent
9beec2ff3a
commit
542dc31578
|
@ -0,0 +1,27 @@
|
|||
module.exports = upgradeWebSocketServer;
|
||||
|
||||
function upgradeWebSocketServer(wss) {
|
||||
wss.on("connection", (ws) => {
|
||||
upgradeWebSocket(ws);
|
||||
});
|
||||
wss.sendEvent = function(event, data) {
|
||||
wss.clients.forEach((ws) => {
|
||||
ws.sendEvent(event, data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function upgradeWebSocket(ws) {
|
||||
ws.on("message", (message) => {
|
||||
let parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = JSON.parse(message);
|
||||
if ("event" in parsedMessage && "data" in parsedMessage) {
|
||||
ws.emit(parsedMessage.event, parsedMessage.data);
|
||||
}
|
||||
} catch {}
|
||||
});
|
||||
ws.sendEvent = function(event, data) {
|
||||
return ws.send(JSON.stringify({"event" : event, "data" : data}));
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
node_modules
|
|
@ -0,0 +1,8 @@
|
|||
<script src="../SmartWebSocket.js"></script>
|
||||
<script>
|
||||
|
||||
let sock = new SmartWebSocket("ws://127.0.0.1:8082");
|
||||
|
||||
sock.on("test", console.log);
|
||||
|
||||
</script>
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"name": "examples",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"ws": "^8.18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"ws": "^8.18.0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
const { WebSocketServer } = require('ws');
|
||||
const upgradeWSS = require('../SmartWebSocketServer.js');
|
||||
|
||||
const wss = new WebSocketServer({ port: 8082 });
|
||||
|
||||
upgradeWSS(wss);
|
||||
|
||||
wss.on("u_connection", (ws) => {
|
||||
console.log("connected");
|
||||
ws.sendEvent("test", { "abc" : 123 });
|
||||
});
|
||||
|
||||
wss.on("listening", () => {
|
||||
console.log("listening...");
|
||||
})
|
Reference in New Issue