Documentation > Administration > Router Transports > WebSocket Transport

WebSocket Transport

Quick Links: WebSocket Options - WebSocket Compression - Cookie Tracking - Transport Endpoints

The WebSocket Transport is the default and most common way for running WAMP. In particular, WAMP-over-WebSocket is the protocol used to communicate with browsers that natively support WebSocket.

Crossbar.io supports all the favors of WAMP-over-WebSocket, including different serialization formats (JSON and MsgPack) as well as listening transports

as well as connecting transports

The difference between the WebSocket Transport here, and the WebSocket Service, which is a feature of the Web Transport is that the transport here is only able to serve WAMP-over-WebSocket and nothing else, whereas the Web Transport allows to combine multiple Web services all running on one port.

Configuration

Crossbar.io supports both listening as well as connecting WAMP-over-WebSocket transports.

Listening transports are used with routers to allow WAMP clients connect to Crossbar.io, whereas connecting transports are used with containers to allow hosted components to connect to their upstream router.

Listening Transports

Listening transports are used with routers to allow WAMP clients connect to Crossbar.io. The available parameters for WebSocket listening transports are:

parameter description
id The (optional) transport ID - this must be unique within the router this transport runs in (default: "transportN" where N is numbered starting with 1)
type Type of transport - must be "websocket".
endpoint A network connection for data transmission - see listening Transport Endpoints (required)
url The WebSocket server URL to use (default: null)
serializers List of WAMP serializers to announce/speak, must be from "json" and "msgpack" (default: all available)
options Please see WebSocket Options
debug Enable transport level debug output. (default: false)
auth Authentication to be used for this Endpoint - see Authentication
cookie See Cookie Tracking

In addition to running a listening WAMP-over-WebSocket Endpoint on its own port, an Endpoint can share a listening port with a Web Transport. For more information on this, take a look at Web Transport and Services.

Top

Connecting Transports

Connecting transports are used with containers to allow hosted components to connect to their upstream router. The available parameters for WebSocket connecting transports are:

parameter description
id The (optional) transport ID - this must be unique within the router this transport runs in (default: "transportN" where N is numbered starting with 1)
type Type of transport - must be "websocket".
endpoint A network connection for data transmission - see connecting Transport Endpoints (required)
url The WebSocket URL of the server to connect to (required)
serializers List of WAMP serializers to announce/speak, must be from "json" and "msgpack" (default: all available)
options Please see WebSocket Options
debug Enable transport level debug output. (default: false)
Top

Example

Example - Listening Transport

To expose its WAMP routing services you can run an Endpoint that talks WAMP-over-WebSocket. Here is an example (part of a Crossbar.io configuration):

{
   "type": "websocket",
   "endpoint": {
      "type": "tcp",
      "port": 8080
   }
}
Top

Example - Connecting Transport

Write me.

Top
Get
commercial support
for
Crossbar.io
Get commercial support for Crossbar.io