nodejs sse
Step 1: Import required modules
const http = require('http');
const fs = require('fs');
Step 2: Create an HTTP server
const server = http.createServer((req, res) => {
// Handle incoming requests
});
Step 3: Set up server to respond with SSE headers
server.on('request', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
res.setHeader('Connection', 'keep-alive');
});
Step 4: Send initial SSE message to the client
res.write('data: Initial message\n\n');
Step 5: Set up periodic SSE messages (heartbeat)
const intervalId = setInterval(() => {
res.write('data: Heartbeat\n\n');
}, 1000);
Step 6: Handle client disconnect
req.on('close', () => {
clearInterval(intervalId);
});
Step 7: Listen on a port
const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server running at http://localhost:${PORT}/`);
});