Hacker News new | ask | show | jobs
by marcduiker 1492 days ago
Good question, the flow is like this:

1. Clients trigger HTTP function endpoints (add a player, do an attack).

2. Centralized state is being updated (based on Durable Entities).

3. The Azure Functions publish messages to the realtime channel (via a REST based client).

4. Clients are subscribed to the realtime channel (using a WebSocket based connection) and respond to the messages (update player health etc).

So clients are only subscribing to messages that the Azure Functions are publishing.

1 comments

Got it, thanks. So clients use REST, which triggers a publish?
Yes, the Ably REST API is used within the Azure Functions to publish a message. The Ably platform then uses WebSocket connections to the connected player devices to deliver the messages.