Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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.

Files for django-socket-server, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size django-socket-server-0.0.4.tar.gz (9.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page