Problematic / flask-sockets

Elegant WebSockets for your Flask apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flask-Sockets

Elegant WebSockets for your Flask apps.

http://farm4.staticflickr.com/3689/9755961864_577e32a106_c.jpg

from flask import Flask
from flask_sockets import Sockets

app = Flask(__name__)
sockets = Sockets(app)

@sockets.route('/echo')
def echo_socket(ws):
    while True:
        message = ws.receive()
        ws.send(message)

@app.route('/')
def hello():
    return 'Hello World!'

Serving WebSockets in Python was really difficult. Now it's not.

Installation

To install Flask-Sockets, simply:

$ pip install Flask-Sockets

Deployment

A custom Gunicorn worker is included to make deployment as friendly as possible:

$ gunicorn -k flask_sockets.worker hello:app

Production services are provided by gevent and gevent-websocket.

Anything that inserts wsgi.websocket into the WSGI environ is supported, but gevent-websocket is recommended.

WebSocket Interface

The websocket interface that is passed into your routes is provided by gevent-websocket. The basic methods are fairly straitforward — send, receive, send_fname, and close.

Hopefully, more documentation will be available soon.

About

Elegant WebSockets for your Flask apps.

License:MIT License