mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-01-24 10:33:47 +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);
|
|
});
|