autobahn.twisted.websocket

Classes

WampWebSocketClientFactory

Twisted-based WAMP-over-WebSocket client protocol factory.

WampWebSocketClientProtocol

Twisted-based WAMP-over-WebSocket client protocol.

WampWebSocketServerFactory

Twisted-based WAMP-over-WebSocket server protocol factory.

WampWebSocketServerProtocol

Twisted-based WAMP-over-WebSocket server protocol.

WebSocketAdapterFactory

Adapter class for Twisted-based WebSocket client and server factories.

WebSocketAdapterProtocol

Adapter class for Twisted WebSocket client and server protocols.

WebSocketClientFactory

Base class for Twisted-based WebSocket client factories.

WebSocketClientProtocol

Base class for Twisted-based WebSocket client protocols.

WebSocketServerFactory

Base class for Twisted-based WebSocket server factories.

WebSocketServerProtocol

Base class for Twisted-based WebSocket server protocols.

WrappingWebSocketAdapter

An adapter for stream-based transport over WebSocket.

WrappingWebSocketClientFactory

Wrapping client factory for stream-based transport over WebSocket.

WrappingWebSocketClientProtocol

Client protocol for stream-based transport over WebSocket.

WrappingWebSocketServerFactory

Wrapping server factory for stream-based transport over WebSocket.

WrappingWebSocketServerProtocol

Server protocol for stream-based transport over WebSocket.

Functions

connectWS(factory[, contextFactory, timeout, bindAddress])

Establish WebSocket connection to a server. The connection parameters like target

create_client_agent(reactor)

listenWS(factory[, contextFactory, backlog, interface])

Listen for incoming WebSocket connections from clients. The connection parameters like

Module Contents

class WampWebSocketClientFactory(factory, *args, **kwargs)[source]

Bases: autobahn.wamp.websocket.WampWebSocketClientFactory, WebSocketClientFactory

Twisted-based WAMP-over-WebSocket client protocol factory.

noisy = False[source]
protocol[source]

The protocol to be spoken. Must be derived from autobahn.websocket.protocol.WebSocketClientProtocol.

class WampWebSocketClientProtocol[source]

Bases: autobahn.wamp.websocket.WampWebSocketClientProtocol, WebSocketClientProtocol

Twisted-based WAMP-over-WebSocket client protocol.

Implements:

class WampWebSocketServerFactory(factory, *args, **kwargs)[source]

Bases: autobahn.wamp.websocket.WampWebSocketServerFactory, WebSocketServerFactory

Twisted-based WAMP-over-WebSocket server protocol factory.

protocol[source]

The protocol to be spoken. Must be derived from autobahn.websocket.protocol.WebSocketServerProtocol.

class WampWebSocketServerProtocol[source]

Bases: autobahn.wamp.websocket.WampWebSocketServerProtocol, WebSocketServerProtocol

Twisted-based WAMP-over-WebSocket server protocol.

Implements:

class WebSocketAdapterFactory[source]

Bases: object

Adapter class for Twisted-based WebSocket client and server factories.

class WebSocketAdapterProtocol[source]

Bases: twisted.internet.protocol.Protocol

Adapter class for Twisted WebSocket client and server protocols.

Called from Twisted:

Called from Network-independent Code (WebSocket implementation):

FIXME:

_closeConnection(abort=False)[source]
_onClose(wasClean, code, reason)[source]
_onMessage(payload, isBinary)[source]
_onMessageBegin(isBinary)[source]
_onMessageEnd()[source]
_onMessageFrame(payload)[source]
_onMessageFrameBegin(length)[source]
_onMessageFrameData(payload)[source]
_onMessageFrameEnd()[source]
_onOpen()[source]
_onPing(payload)[source]
_onPong(payload)[source]
connectionLost(reason: twisted.python.failure.Failure = connectionDone)[source]
connectionMade()[source]
dataReceived(data: bytes)[source]
is_server: bool | None = None[source]
log[source]
peer: str | None = None[source]
registerProducer(producer, streaming)[source]

Register a Twisted producer with this protocol.

Parameters:
  • producer (object) – A Twisted push or pull producer.

  • streaming (bool) – Producer type.

unregisterProducer()[source]

Unregister Twisted producer with this protocol.

class WebSocketClientFactory(*args, **kwargs)[source]

Bases: WebSocketAdapterFactory, autobahn.websocket.protocol.WebSocketClientFactory, twisted.internet.protocol.ClientFactory

Base class for Twisted-based WebSocket client factories.

Implements autobahn.websocket.interfaces.IWebSocketClientChannelFactory

log[source]
reactor[source]
class WebSocketClientProtocol[source]

Bases: WebSocketAdapterProtocol, autobahn.websocket.protocol.WebSocketClientProtocol

Base class for Twisted-based WebSocket client protocols.

Implements autobahn.websocket.interfaces.IWebSocketChannel.

_onConnect(response: autobahn.websocket.types.ConnectionResponse)[source]
is_server = False[source]
log[source]
startTLS()[source]
class WebSocketServerFactory(*args, **kwargs)[source]

Bases: WebSocketAdapterFactory, autobahn.websocket.protocol.WebSocketServerFactory, twisted.internet.protocol.ServerFactory

Base class for Twisted-based WebSocket server factories.

Implements autobahn.websocket.interfaces.IWebSocketServerChannelFactory

log[source]
reactor[source]
class WebSocketServerProtocol[source]

Bases: WebSocketAdapterProtocol, autobahn.websocket.protocol.WebSocketServerProtocol

Base class for Twisted-based WebSocket server protocols.

Implements autobahn.websocket.interfaces.IWebSocketChannel.

is_server = True[source]
log[source]
class WrappingWebSocketAdapter[source]

Bases: object

An adapter for stream-based transport over WebSocket.

This follows websockify and should be compatible with that.

It uses WebSocket subprotocol negotiation and supports the following WebSocket subprotocols:

  • binary (or a compatible subprotocol)

  • base64

Octets are either transmitted as the payload of WebSocket binary messages when using the binary subprotocol (or an alternative binary compatible subprotocol), or encoded with Base64 and then transmitted as the payload of WebSocket text messages when using the base64 subprotocol.

getHost()[source]
getPeer()[source]
loseConnection()[source]
onClose(wasClean, code, reason)[source]
onConnect(requestOrResponse)[source]
onMessage(payload, isBinary)[source]
onOpen()[source]
write(data)[source]
writeSequence(data)[source]
class WrappingWebSocketClientFactory(factory, url, reactor=None, enableCompression=True, autoFragmentSize=0, subprotocol=None)[source]

Bases: WebSocketClientFactory

Wrapping client factory for stream-based transport over WebSocket.

_factory[source]
_subprotocols = ['binary', 'base64'][source]
buildProtocol(addr)[source]
class WrappingWebSocketClientProtocol[source]

Bases: WrappingWebSocketAdapter, WebSocketClientProtocol

Client protocol for stream-based transport over WebSocket.

class WrappingWebSocketServerFactory(factory, url, reactor=None, enableCompression=True, autoFragmentSize=0, subprotocol=None)[source]

Bases: WebSocketServerFactory

Wrapping server factory for stream-based transport over WebSocket.

_factory[source]
_subprotocols = ['binary', 'base64'][source]
buildProtocol(addr)[source]
startFactory()[source]
stopFactory()[source]
class WrappingWebSocketServerProtocol[source]

Bases: WrappingWebSocketAdapter, WebSocketServerProtocol

Server protocol for stream-based transport over WebSocket.

connectWS(factory, contextFactory=None, timeout=30, bindAddress=None)[source]

Establish WebSocket connection to a server. The connection parameters like target host, port, resource and others are provided via the factory.

Parameters:
  • factory (An autobahn.websocket.WebSocketClientFactory instance.) – The WebSocket protocol factory to be used for creating client protocol instances.

  • contextFactory (A twisted.internet.ssl.ClientContextFactory instance.) – SSL context factory, required for secure WebSocket connections (“wss”).

  • timeout (int) – Number of seconds to wait before assuming the connection has failed.

  • bindAddress (tuple) – A (host, port) tuple of local address to bind to, or None.

Returns:

The connector.

Return type:

An object which implements twisted.interface.IConnector.

create_client_agent(reactor)[source]
Returns:

an instance implementing IWebSocketClientAgent

listenWS(factory, contextFactory=None, backlog=50, interface='')[source]

Listen for incoming WebSocket connections from clients. The connection parameters like listening port and others are provided via the factory.

Parameters:
  • factory (An autobahn.websocket.WebSocketServerFactory instance.) – The WebSocket protocol factory to be used for creating server protocol instances.

  • contextFactory (A twisted.internet.ssl.ContextFactory.) – SSL context factory, required for secure WebSocket connections (“wss”).

  • backlog (int) – Size of the listen queue.

  • interface (str) – The interface (derived from hostname given) to bind to, defaults to ‘’ (all).

Returns:

The listening port.

Return type:

An object that implements twisted.interface.IListeningPort.