Socketly
Hosted realtime for developers. You install one package, hold two keys, and get channels, presence, and metered delivery without running a socket server.
See it work
Two separate connections to the same channel, running against the live edge from this page. Send a message as either person — it leaves your browser, reaches the server, and comes back over a socket.
public-docs-demoNothing yet. Send from either side.
Nothing yet. Send from either side.
How it fits together
Your browser code holds a public key and opens a connection. Your backend holds a secret key and does two things: it publishes events, and it signs authorization for any channel that is not public.
That split is the whole security model. The public key identifies your app and nothing more — anyone who reads your bundle can see it, and it grants them access to public channels only. Everything private goes through a signature your own backend issues, because your backend is the only thing that knows who your users are.
Channels
| Prefix | Who can subscribe | Presence roster |
|---|---|---|
public- | Anyone with the public key | No |
private- | Only with a signature from your backend | No |
presence- | Only with a signature, plus a user identity | Yes |
Channel names must carry one of these prefixes. An unprefixed name is rejected, because it is almost always someone assuming privacy they do not have.
Next
- Quickstart — first message in about five minutes
- Channels & authorization — how signing works