Skip navigation.

Channels

Channels are identified by names that are styled as the absolute path component
of a URI without parameters as defined by RFC2396:

channel_name     = "/"  channel_segments
channel_segments = channel_segment *( "/" channel_segment )
channel_segment  = token

The channel name consists of an initial "/" followed by an optional sequence of
path segments separated by a single slash "/" character. Within a path segment,
the character "/" is reserved.
Example non-meta channel names are:

/foo
/foo/bar
/foo-bar/(foobar)
/some/channel

Publish / Subscribe Channels

Channels are by default broadcast publish subscribe, so that all subscribers will see all messages published to the channel on the server.

Messages may be privately delivered to a specific client + channel combination and bypass any default routing.

Meta Channels

Channels starting with /meta/ are reserved for the use of the protocol (eg /meta/handshake)

Service Channels

Channels starting with /service are server only publish/subscribe. Messages published to /service channels will only be delivered to server side clients.
Messages may still be explicitly delivered to a client on a /service channel

Channel Globbing

A set of channels may be specified with a channel globbing pattern:

channel_pattern  = *( "/" channel_segment ) "/" wild_card
wild_card = "*" | "**"

The channel patterns support only trailing wildcards of either "*" to match a
single segment or "**" to match multiple segments. Example channel patterns
are:

/foo/*
Matches /foo/bar and /foo/boo. Does not match /foo, /foobar or /foo/bar/ boo.
/foo/**
Matches /foo/bar, /foo/boo and /foo/bar/boo. Does not match /foo, /foobar or /foobar/boo

Channel Usage examples

xxxx