noncom
noncom

Reputation: 4992

How does Play recognize a particular websocket message?

I am looking at the websocket-chat example. It unveils much, but I still cannot get something. I understand how messages are received, processed and sent on the web page side.

However, Play captures websocket messages by means of the receive method of an Akka actor. In the websocket-chat, there are several cases in this method, but I don't get, how does it know which websocket message should be mapped to which case. In fact, I don't understand the path that a websocket message follows upon entering Play's domain, how is it processed and how can different message types/kinds be sent from the webpage.

I have not find any info or sources related to this. Could please someone explain this or point to some kind of a good reference?

UPDATE:

The link to the original example.

Upvotes: 0

Views: 301

Answers (1)

ndeverge
ndeverge

Reputation: 21564

The receive method from the sample doesn't have any link to the Play Websocket API. This receive method comes from the Akka library.

The Websockets events are managed through an Iteratee, which create and send a Talk message to the Actor system.

Simply put, it allows to have a highly scalable system (non-blocking), by sending messages between "workers".

So I suggest that you take a look at the Actor model in the Akka library.

Upvotes: 2

Related Questions