Channel is a route for messages.
Clients can subscribe on channel to receive events related to this channel - new messages, join/leave events etc. Also client must be subscribed on channel to get presence or history information.
Channel is just a string -
comments are valid channel names.
BUT! You should remember several things.
First, channel name length is limited by
255 characters by default (can
be changed via configuration file option
$ symbols have a special role in channel name.
namespace channel boundary
: - is a channel namespace boundary.
If channel is
public:chat - then Centrifuge will apply options to this channel
from channel namespace with name
user channel boundary
# is a user boundary - separator to create private channels for users (user limited
channels) without sending POST request to your web application. For example if channel
news#42 then only user with ID
42 can subscribe on this channel (Centrifugo
knows user ID as clients provide it in connection parameters).
Moreover you can provide several user IDs in channel name separated by comma:
in this case only user with ID
42 and user with ID
43 will be able to subscribe on this channel.
This is useful for channels with static allowed users, for example for user personal messages channel, for dialog channel between certainly defined users. As soon as you need dynamic user access to channel this channel type does not suit well.
client channel boundary (new in 0.2.0)
& is a client channel boundary. This is similar to user channel boundary but limits
access to channel only for one client with ID set after
&. For example if channel is
client&7a37e561-c720-4608-52a8-a964a9db7a8a then only client with client ID
get client's ID) will be able to subscribe on this channel.
private channel prefix
If channel starts with
$ then it considered private. Subscription on private channel
must be properly signed by your web application. Read special chapter in docs about
private channel subscriptions.