Server-Sent Events through a Publish/Subscribe API for Node.js. This package is intended to simplify the use of SSE by providing a convenient way to organize ongoing streams into classes (or channels). You can bind an open response stream to one or more channels - specified by a string identifier - and in other parts of the codebase you can address messages (or events) by that channel. Let's take a look at the following example!
const app =sse =appappapp
Send event directly to a specified client (instead of a channel):
For more convenience, there are helpers to extend
http.ServerResponse.prototype and to easily create middleware for Connect/Express:
const app =sse =sseapp// orapp
This package supports
If you want to compress outgoing event streams then you
have to provide the
request object for subscriptions.
const app =sse = compression: true // !!!app
compression option can be set to
true or an object containing settings
for the compression module.
Using multiple nodes
SSE is a long-polling solution, consequently if you want to broadcast events to every client subscribed to a given channel then you’ll need some way of passing messages between processes or computers.
const os =cluster =if clusterisMasterfor var i = oslength; i--;clusterelseconst app =sse =sse host: 'localhost' port: 6379appappapp
Note: options are passed to redis directly.
The overall API documentation is available here.
sse-broadcast is compatible with Node
0.8 and above but in versions lower than
1 you'll need to use a
npm install sse-broadcast