Skip to main content

Django Socket Server

Project description

http://img.shields.io/travis/CptLemming/django-socket-server.svg?style=flat-square Latest Version Downloads License http://img.shields.io/coveralls/CptLemming/django-socket-server.svg?style=flat-square

Django Socket Server

Quickstart

  1. Install django-socket-server:

    pip install django-socket-server
  2. Add socket_server to INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'socket_server',
        ...
    )

Create a sockets.py in an application of your project.

django-socket-server will discover the socket files that are in applications installed against Django.

An example sockets.py looks like this:

from socket_server.namespace import EventNamespace


class Namespace(EventNamespace):

    def client_connected(self, client):
        super(Namespace, self).client_connected(client)

        print 'Send ping'
        self.emit_to(client, 'ping')

    def register_callbacks(self):
        return {
            'pong': self.pong
        }

    def pong(self, client, **kwargs):
        print 'Received pong event'

Messages are sent and received in JSON, and always contain an event key. This key is then mapped to callbacks, added inside register_callbacks.

You can specify a namespace name using the name property like so:

class Namespace(EventNamespace):
    name = 'pingpong'

If you do not specify a name, the app name will be used by default.

Start Socket Server

Use the management command provided to start the socket server: python manage.py start_socket.

You may pass an optional –port to override the default port of 3000.

Client connection

The above example would expose the following: ws://localhost:3000/pingpong

Documentation

The full documentation is at https://django-socket-server.readthedocs.org.

History

0.0.1 (2015-01-01)

  • First release on PyPI.

0.0.2 (2015-01-30)

  • Added python client classes

0.0.3 (2015-01-30)

  • Catch server shutdown and pass to namespaces

0.0.4 (2015-02-01)

  • Remove debugging and add “room” event errors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-socket-server-0.0.4.tar.gz (9.2 kB view details)

Uploaded Source

File details

Details for the file django-socket-server-0.0.4.tar.gz.

File metadata

File hashes

Hashes for django-socket-server-0.0.4.tar.gz
Algorithm Hash digest
SHA256 f45f1c81941e8dfea534ff3d12197828dc956df196ae7934cc28df3cdeaeb694
MD5 ae713c48f776ecb1ff3dd74a98618884
BLAKE2b-256 80b7d5ad68cc2c75583c4dbe64eb5bb90503d50ae81ef408fda9b231e7293785

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page