Socket.IO server
Project description
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
File details
Details for the file python-socketio-0.6.1.tar.gz
.
File metadata
- Download URL: python-socketio-0.6.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b52a0a9fed875652ed51226545867b0f813e8d3f219db58527c0e4728c4baa87 |
|
MD5 | dbcdf91c2988aa3d805df2ebd45e7cde |
|
BLAKE2b-256 | b6b565fad741ef6916571e20288a368c9533e81a66dbaa441a3e6962813ee8a7 |