ws4py provides a high-level, yet simple, interface to provide your application with WebSocket support. It is simple as:
from ws4py.websocket import WebSocket
For instance a straightforward echo application would look like this:
class EchoWebSocket(WebSocket): def received_message(self, message): self.send(message.data, message.is_binary)
Other useful methods to implement are:
You may want to know if the connection is currently usable or
At that stage, the subclass is still not connected to any data source. The way ws4py is designed, you don’t necessarily need a connected socket, in fact, you don’t even need a socket at all.
>>> from ws4py.messaging import TextMessage >>> def data_source(): >>> yield TextMessage(u'hello world') >>> from mock import MagicMock >>> source = MagicMock(side_effect=data_source) >>> ws = EchoWebSocket(sock=source) >>> ws.send(u'hello there')