B. Architecture Overview
To properly use our architecture, a set of steps needs to be performed before the game actually starts.
The following is a general overview of these steps.
In the first step, the server component is initialized.
After the server has been initialized, it stays idle, waiting for connection request.
Next, a client component is initialized by the user, and it makes a connection request.
The server then checks the user’s authentication and establishes a connection.
The client then starts sending data to the server, following the protocol used by its application.
The server receives the data and stores it in its own buffer, and then sends this data to the game application.
States are changed in the game according to the data received. Following the
workflow presented, our framework is based on these tasks, grouped in three main blocks, as can be seen in Figure 1.