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


Release history Release notifications

This version
History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-socket-server-0.0.4.tar.gz (9.2 kB) Copy SHA256 hash SHA256 Source None Feb 1, 2015

Supported by

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