diff options
author | 2023-09-25 15:22:05 -0700 | |
---|---|---|
committer | 2023-09-25 15:22:12 -0700 | |
commit | 9d9fcbbdeb6803f7bda9690e9ca0e5b1ef123b07 (patch) | |
tree | 70f97790dc02dec6f641565765d88e0b14da394e /docs/api | |
parent | cd09bb0e9bcaf28806e2c3d05edc320af7a70507 (diff) | |
download | bun-9d9fcbbdeb6803f7bda9690e9ca0e5b1ef123b07.tar.gz bun-9d9fcbbdeb6803f7bda9690e9ca0e5b1ef123b07.tar.zst bun-9d9fcbbdeb6803f7bda9690e9ca0e5b1ef123b07.zip |
Update docs
Diffstat (limited to 'docs/api')
-rw-r--r-- | docs/api/websockets.md | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/docs/api/websockets.md b/docs/api/websockets.md index 7595f2c8a..4e55b8761 100644 --- a/docs/api/websockets.md +++ b/docs/api/websockets.md @@ -161,7 +161,7 @@ socket.addEventListener("message", event => { ### Pub/Sub -Bun's `ServerWebSocket` implementation implements a native publish-subscribe API for topic-based broadcasting. Individual sockets can `.subscribe()` to a topic (specified with a string identifier) and `.publish()` messages to all other subscribers to that topic. This topic-based broadcast API is similar to [MQTT](https://en.wikipedia.org/wiki/MQTT) and [Redis Pub/Sub](https://redis.io/topics/pubsub). +Bun's `ServerWebSocket` implementation implements a native publish-subscribe API for topic-based broadcasting. Individual sockets can `.subscribe()` to a topic (specified with a string identifier) and `.publish()` messages to all other subscribers to that topic (excluding itself). This topic-based broadcast API is similar to [MQTT](https://en.wikipedia.org/wiki/MQTT) and [Redis Pub/Sub](https://redis.io/topics/pubsub). ```ts const server = Bun.serve<{ username: string }>({ @@ -200,7 +200,18 @@ const server = Bun.serve<{ username: string }>({ console.log(`Listening on ${server.hostname}:${server.port}`); ``` -Calling `.publish(data)` will send the message to all subscribers of a topic _except_ the socket that called `.publish()`. +Calling `.publish(data)` will send the message to all subscribers of a topic _except_ the socket that called `.publish()`. To send a message to all subscribers of a topic, use the `.publish()` method on the `Server` instance. + +```ts +const server = Bun.serve({ + websocket: { + // ... + }, +}); + +// listen for some external event +server.publish("the-group-chat", "Hello world"); +``` ### Compression |