All the communication above is fire and forget, after sending a user moved event, the client doesn’t need anything in response, after sending a viewing area message, the client might get many messages, or maybe none at all, depending on whether there are any users in that area, and after the server sends position updates, it expects nothing in return from the client.

This differs from many traditional client server where clients make a request and expect a response. In a reactive application, much of the communication will not be request/response based, because the way reactive applications are architected is that data flows to consumers as it becomes available, and consumers of the data react to it, they don’t ask for it.

For this reason, WebSockets makes for a perfect transport for client server communication in a reactive application, since it allows events to be passed with low overhead, not needing to wait for a response, and facilitates reacting to events from the server.

taken from typesafe activator – project reactive maps