mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-01-24 18:40:19 +08:00
34 lines
816 B
JavaScript
34 lines
816 B
JavaScript
|
const Koa = require('koa');
|
||
|
const route = require('koa-route');
|
||
|
const websockify = require('koa-websocket');
|
||
|
|
||
|
const app = websockify(new Koa());
|
||
|
|
||
|
app.ws.use(function (ctx, next) {
|
||
|
ctx.websocket.send('connection succeeded!');
|
||
|
return next(ctx);
|
||
|
});
|
||
|
|
||
|
app.ws.use(
|
||
|
route.all('/test', function (ctx) {
|
||
|
// ctx.websocket.send('Hello World');
|
||
|
ctx.websocket.on('message', function (message) {
|
||
|
// do something with the message from client
|
||
|
|
||
|
if (message !== 'ping') {
|
||
|
let data = JSON.stringify({
|
||
|
id: Math.ceil(Math.random() * 1000),
|
||
|
time: new Date().getTime(),
|
||
|
res: `${message}`,
|
||
|
});
|
||
|
ctx.websocket.send(data);
|
||
|
}
|
||
|
console.log(message);
|
||
|
});
|
||
|
})
|
||
|
);
|
||
|
|
||
|
app.listen(3380, () => {
|
||
|
console.log('websocket server is listen in: ' + 3380);
|
||
|
});
|