Makes websockets with Mongrel2 and Python super easy
Project description
Makes handling websockets with Mongrel2 and Python easy peasy.
This module was lovingly crafted for First Opinion.
Example
Typical websocket hello world type example, creating an echo server:
import os
import logging
logging.basicConfig()
rl = logging.getLogger()
rl.setLevel('DEBUG')
from m2websocket import Connection
conn = Connection("tcp://localhost:port", "tcp://localhost:port")
while True:
req = conn.recv()
if req.is_handshake():
conn.reply_handshake(req)
else:
conn.reply_websocket(req, req.body, req.opcode)
Yup, that’s all there is to it, much easier than this example.
You can see a working example of the echo server (with a working mongrel2 conf file and python script) by looking in the example/ directory in the Github repo.
Install it
Prerequisites
You’ll need to install the mongrel2 python library from the mongrel2 source. Once you’ve cloned the source or downloaded that folder, you can install it using setup.py
$ cd /path/to/mongrel2/src/examples/python $ python setup.py install
Then, you can install this module using pip:
pip install m2websocket
Or:
pip install git+https://github.com/firstopinion/m2websocket#egg=m2websocket
Tests are actually kind of hard to run, you need to install mongrel2 and have it load the example/mongrel2.conf configuration and then run the example/echo.py server. You also need to pip install websocket-client.
License
MIT
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 m2websocket-0.2.tar.gz
.
File metadata
- Download URL: m2websocket-0.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b83ff5e1e8d8e06e461181abe3477725fc96409644de2920894bf36f181bb665 |
|
MD5 | 0292bc0c234b04e385ad2c39a037b2dc |
|
BLAKE2b-256 | 6399b91e85c635d5b4543fad34f29080a4d27ab78307d1373a750baf5702a80f |