node package manager


WebSocket-multiplex is a thin library on top of SockJS that allows you to do multiplexing of many virtual WebSockets connection over a single physical one.


WebSocket-multiplex is a small library on top of SockJS that allows you to do multiplexing over a single SockJS connection.

The rationale for that is explained in details in the following blog post:

On the client side (browser) load library like that:

<script src="">

Alternatively, if you're using SSL:

<script src="">

Usage example:

    var sockjs_url = '/multiplex';
    var sockjs = new SockJS(sockjs_url);

    var multiplexer = new WebSocketMultiplex(sockjs);
    var ann  ='ann');
    var bob  ='bob');
    var carl ='carl');

On the node.js server side, you can use npm to get the code:

npm install websocket-multiplex

And a simplistic example:

var multiplex_server = require('websocket-multiplex');

// 1. Setup SockJS server
var service = sockjs.createServer();

// 2. Setup multiplexing
var multiplexer = new multiplex_server.MultiplexServer(service);

var ann = multiplexer.registerChannel('ann');
ann.on('connection', function(conn) {
    conn.write('Ann says hi!');
    conn.on('data', function(data) {
        conn.write('Ann nods: ' + data);

// 3. Setup http server
var server = http.createServer();
sockjs_echo.installHandlers(server, {prefix:'/multiplex'});
var app = express.createServer();

For a full-featured example see the /examples directory.