Skip to main content

Socket.IO server

Project description

https://travis-ci.org/miguelgrinberg/python-socketio.svg?branch=master

Python implementation of the Socket.IO realtime server.

Features

  • Fully compatible with the Javascript socket.io-client library.

  • Compatible with Python 2.7 and Python 3.3+.

  • Based on Eventlet, enabling large number of clients even on modest hardware.

  • Includes a WSGI middleware that integrates Socket.IO traffic with standard WSGI applications.

  • Uses an event-based architecture implemented with decorators that hides the details of the protocol.

  • Implements HTTP long-polling and WebSocket transports.

  • Supports XHR2 and XHR browsers as clients.

  • Supports text and binary messages.

  • Supports gzip and deflate HTTP compression.

  • Configurable CORS responses to avoid cross-origin problems with browsers.

Example

The following application uses Flask to serve the HTML/Javascript to the client:

import socketio
import eventlet
from flask import Flask, render_template

sio = socketio.Server()
app = Flask(__name__)

@app.route('/')
def index():
    """Serve the client-side application."""
    return render_template('index.html')

@sio.on('connect', namespace='/chat')
def connect(sid, environ):
    print("connect ", sid)

@sio.on('chat message', namespace='/chat')
def message(sid, data):
    print("message ", data)
    sio.emit(sid, 'reply')

@sio.on('disconnect', namespace='/chat')
def disconnect(sid):
    print('disconnect ', sid)

if __name__ == '__main__':
    # wrap Flask application with engineio's middleware
    app = socketio.Middleware(eio, app)

    # deploy as an eventlet WSGI server
    eventlet.wsgi.server(eventlet.listen(('', 8000)), app)

Resources

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

python-socketio-0.5.1.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file python-socketio-0.5.1.tar.gz.

File metadata

File hashes

Hashes for python-socketio-0.5.1.tar.gz
Algorithm Hash digest
SHA256 a83d56f4abe26b218e00cc93bceb0585560c418e9b75330c82894cef630c3675
MD5 3ab659b186d53e8c5ba33544a924e36e
BLAKE2b-256 6d1a9b78a11f6bea7abb571f743771a940828c3a981e0222198f0feb55d10621

See more details on using hashes here.

Supported by

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