A server-side companion for EventSource
npm install eventstream
var es = require('eventstream');
var server = require('http').createServer(function(req, res) {
// Check if this is an event stream request
if (req.url === '/my-event-stream') {
// Create an EventStream object and link it to the request/response
var eventStream = new es.EventStream(req, res);
// Send the needed headers
eventStream.init();
// Start sending keep-alive messages every 15 seconds
(function keepAlive() {
if (eventStream.isOpen()) {
eventStream.keepAlive();
setTimeout(keepAlive, 15000);
}
}());
// Send a simple message event
eventStream.sendMessage({
data: 'This is a message'
});
// Send a more complex message
eventStream.sendMessage({
event: 'message',
id: 'some id value',
data: 'This is another message'
});
}
// Otherwise, continue on with the rest of your normal server stuff...
});
server.listen(1234);