HOME CHANNEL
A HOME CHANNEL is an implicit channel assigned by the server using clients' network addresses. Clients using the same external IP can be grouped together. Localhost and the server's private-network connections are grouped into the private home channel by the implementation.
This grouping is not identity verification or an authorization boundary. NAT, proxies, VPNs, and shared networks can make unrelated users appear under one address. Changing connection paths can change the group.
Use an implicit channel
Omit the channel name and keep #topic:
io.listen('#topic', (tag, ...args) => console.log(tag, args));
// Send after the receiver has subscribed:
io.signal('#topic');
Only subscribers to the exact tag within the same HOME CHANNEL receive it. channel#topic and channel are explicit channels and do not use this implicit scope.
For EMPTY messages, JS receives only tag; rest arguments are []. Explicit null remains distinct. Arduino receives type EMPTY and length zero; do not read payload bytes for that message.
Typical uses
Device discovery, local notifications, and presence/check-in flows can use this grouping without exchanging an explicit channel name. Protected data and control commands still need authentication and authorization.
For concrete device applications, see HOME CHANNEL applications. For wire data, see payload formats.