Implementation of web sockets for Python, upgrades a regular socket to a web socket

Taddeus Kroes 59e0a6badd Removed finished item from TODO list 12 年 前
test 8f15e28308 Implemented client handshake, and did some corresponding debugging 12 年 前
.gitignore 6d2cf25d8d Added SSL support (wss://...), updated some docs 12 年 前
LICENSE d758ca45b0 Added license 13 年 前
Makefile 8f15e28308 Implemented client handshake, and did some corresponding debugging 12 年 前
README.md 1d1413925a Prettified README 13 年 前
TODO 59e0a6badd Removed finished item from TODO list 12 年 前
__init__.py 8f15e28308 Implemented client handshake, and did some corresponding debugging 12 年 前
connection.py bfbe3934e5 Revised server-side connection closing and added a timeout to waiting for CLOSE frames 12 年 前
errors.py 6d2cf25d8d Added SSL support (wss://...), updated some docs 12 年 前
frame.py 80538863f6 Fixed issue where server crashes when client closes connection 12 年 前
handshake.py 64a1553c12 Fixed issue where connection fails in webkit-based browsers 12 年 前
message.py a942e6bb1a Added initialization to prevent error 12 年 前
python_digest.py ee818ad017 Updated external copyright header with download link 12 年 前
server.py e123fe7f85 onclose() handlers should now be invoked properly and TCP sockets should be closed when a server stops serving 12 年 前
websocket.py ba21de4a2c Refactored handshaking process, moved it to a separate file, implemented HTTP authentication 12 年 前

README.md

twspy is a standalone implementation of web sockets for Python, defined by RFC 6455.

  • The websocket class upgrades a regular socket to a web socket. A websocket instance is a single end point of a connection. A websocket instance sends and receives frames (Frame instances) as opposed to bytes (which are sent/received in a regular socket).

  • A Connection instance represents a connection between two end points, based on a websocket instance. A connection handles control frames properly, and sends/receives messages (Message instances, which are higher-level than frames). Messages are automatically converted to frames, and received frames are converted to messages. Fragmented messages (messages consisting of multiple frames) are also supported.