Spaces:
Sleeping
Sleeping
const express = require('express') | |
const serveStatic = require('serve-static') | |
const SseStream = require('ssestream') | |
const app = express() | |
app.use(serveStatic(__dirname)) | |
app.get('/sse', (req, res) => { | |
console.log('new connection') | |
const sseStream = new SseStream(req) | |
sseStream.pipe(res) | |
const pusher = setInterval(() => { | |
sseStream.write({ | |
event: 'server-time', | |
data: new Date().toTimeString() | |
}) | |
}, 1000) | |
res.on('close', () => { | |
console.log('lost connection') | |
clearInterval(pusher) | |
sseStream.unpipe(res) | |
}) | |
}) | |
app.listen(8080, (err) => { | |
if (err) throw err | |
console.log('server ready on http://localhost:8080') | |
}) | |