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

Stijn 80538863f6 Fixed issue where server crashes when client closes connection пре 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 3be38d234a Added item to TODO list пре 12 година
__init__.py 8f15e28308 Implemented client handshake, and did some corresponding debugging пре 12 година
connection.py a1721eeb57 Changed receive() to recv() on Connection class to generalize the API пре 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 6303f5188c Some small header fixes пре 12 година
message.py a942e6bb1a Added initialization to prevent error пре 12 година
python_digest.py ee818ad017 Updated external copyright header with download link пре 12 година
server.py 8f15e28308 Implemented client handshake, and did some corresponding debugging пре 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.