django-channels

A convenience library to handle ASGI messages over websockets

Showing:

Popularity

Downloads/wk

3.8K

GitHub Stars

13

Maintenance

Last Commit

1yr ago

Contributors

3

Package

Dependencies

3

Size (min+gzip)

7.8KB

License

BSD-3-Clause

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Usage

Channels WebSocket wrapper.

Originally extracted from channels v2.1.3.

Note: This software is not endorsed by the Channels project.

To process messages:

import { WebSocketBridge } from 'django-channels'

const webSocketBridge = new WebSocketBridge();
webSocketBridge.connect('/ws/');
webSocketBridge.addEventListener("message", function(event) {
  console.log(event.data);
});

To send messages:

webSocketBridge.send({prop1: 'value1', prop2: 'value1'});

To demultiplex specific streams:

const webSocketBridge = new WebSocketBridge();
webSocketBridge.connect('/ws/');
webSocketBridge.stream('mystream').addEventListener("message", function(event) {
  //`event.origin` will be the name of the stream
  console.log(event.data, event.origin);
});
webSocketBridge.stream('myotherstream').addEventListener("message", function(event) {
  console.info(event.data, event.origin);
});

To send a message to a specific stream:

webSocketBridge.stream('mystream').send({prop1: 'value1', prop2: 'value1'})

The WebSocketBridge instance exposes the underlaying ReconnectingWebSocket as the socket property. You can use this property to add any custom behavior. For example:

webSocketBridge.socket.addEventListener('open', function() {
    console.log("Connected to WebSocket");
})

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100