A channel is a mechanism through which the data is transmitted from one device to another within PubNub Realtime Communication Platform. Any device listening to a channel will receive all messages in less than 100ms in most cases, regardless of their location. Most of the PubNub APIs that you'll use will involve channels as one of the parameters: sending, receiving, retrieving, securing, deleting, augmenting, and more.
Channel groups allow you to bundle thousands of channels into a group that can be identified by name. When you subscribe to a channel group, you receive data from all the channels the channel group contains.
A channel name can be any alphanumeric string up to 92 UTF-8 characters. Channel names are unique per PubNub key, and you can have the same name in another key, even within the same PubNub account. In other words, a PubNub key is a namespace for your channels.
, : * / \ and Unicode Zero, whitespace, and non-printable ASCII characters.
_ - = @ . ! $ # % & ^ ;
A period (.) is valid, however it's a special character that is used for wildcard features and is encouraged to be used strategically to leverage these features: wildcard channel subscribe, wildcard channel granting, and Function wildcard channel binding.
Dynamic & Unlimited
Channels do not have to be defined in advance; they're automatically created by the act of sending a message on the channel. A device can listen to thousands of channels simultaneously through a single open connection. And there is no limit to the number of channels that you can use with your PubNub API keys and there are no billing related consequences either.
Channels can represent any place where messages are sent. For example, a channel meant for 1-to-1 direct chat simply means that there are only two users using that channel. A group channel means there are two or more users using that channel.
Here are some useful channel configurations:
Direct channels for one-to-one messaging between two users. You can make these channels private to keep the messages secure between the users.
Group channels for many-to-many messaging between multiple users. For instance, a chat room for your family, or for a group of friends. You can make these channels made public to allow anyone to join, or make them private and only allow select users to join them.
Broadcast channels for announcements, polls, and other situations in which you want to broadcast messages in a one-to-many arrangement.
Unicast channels for poll responses, sensor inputs, location data, and other situations in which you want to aggregate messages in a many-to-one arrangement.
You can secure your channels by controlling the access to them using PubNub's Access Manager which we will discuss in Access Control in the Security section. With Access Manager disabled, any client can freely send and receive messages on any channel. This is fine while you're learning to use PubNub but eventually, you'll need to secure your channels.