A pubsub event bus in node that facilitates events between browser clients and the server.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



node-bus is a project where the goal is to provide a really simple facility for pubsub-style eventing between clients and a central server.

The bus framework includes a client-side javascript tool which handles all of the comet requests to make the developer's job as easy as possible. (automatically degrades from WebSockets to long polling)

Setting Things Up

First download the node-bus repository:

git clone git@github.com:node-bus/node-bus.git --recursive
cd node-bus
git submodule update --init --recursive

Then run the build:


Running the Test Server

Run the server:

cd apps
node server.js

Then, navigate a browser to http://localhost:8080/

Versions (tags)

  • v0.1a - Long-polling support for the client, and functioning server. Chat example and the maintest test app.

  • v0.2a - Adding support for WebSocket graceful degradation to longpolling.

  • v0.3a - Major changes:

    • Moved communication logic into a separate project.
    • Added smart publishing (server only publishes to clients that have callbacks attached to the event)
    • Created a collaborative drawing example
  • v0.4a - Major changes:

    • Increased performance in unsubscribing by using objects for storing subscription handlers rather than arrays.
    • Modularized much of the code base so that subscription handling is shared between the client/server.
    • Started work on transformers.
  • 0.5a - Switched backend engine to Socket.IO.