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.