/sse.js

Server-Sent Events made easy for node.js

Primary LanguageJavaScript

sse.js: a server-sent events implementation for node.js

The HTML5 Server-Sent events specification is introduced "to enable servers to push data to Web pages over HTTP or using dedicated server-push protocols".

The spec can be found here.

Usage

Installing

npm install sse

Basic server

var SSE = require('sse')
  , http = require('http');

var server = http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('okay');
});

server.listen(8080, '127.0.0.1', function() {
  var sse = new SSE(server);
  sse.on('connection', function(client) {
    client.send('hi there, '+ client.id +'!');
  });
});

Client code for the above server:

var es = new EventSource("/sse/test");
es.onmessage = function (event) {
  console.log(event.data);
};