Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat is this topic called? I want to learn more. Server-Client Synchronization
    primarykey
    data
    text
    <p>This is a topic that has been part of almost every application I've ever worked on and yet I don't have a good name for it. I'd love to learn more about best practices and ideally find books/research on the topic but I don't even have a name for it to Google. I'm hoping I can describe the topic here and people can point me towards a name, or even better, books, which discuss the topic.</p> <p>What I've been calling it now is server-client synchronization. It's the practice of sending notifications to clients to update them when the game state has changed. The best way to describe it is with an example.</p> <p>As an example consider a web-based game of Spades that is in progress. The currently active player plays a card and takes the trick. Several changes happen in the server side model as a result of this. The trick is cleared, the player has a new trick, the game possibly ended, etc.</p> <p>This information needs to be communicated with the clients and there is a whole slew of options. Most likely the server is going to send events in some way (these events may even be sent by polling). The events could simply say "Player 3 played the 8 of Spades" and force the client to figure out all the corresponding changes in the model. The events could be as detailed as, "8 of Spades moved from player 3's hand to the board, the trick was cleared, player 3 gained a new trick".</p> <p>So again, my question is. What is this topic called and how do I find books/discussions on best patterns and practices?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload