Multiplayer networking
Before we begin any implementation, let's take a look at what multiplayer networking is all about and define some terms.
Networking services
Consider a situation where you are running a VR application that is connected over the internet to other players running the same application on their own VR rigs at the same time. When you move your first person view within the game, shoot things, or otherwise interact with the virtual environment, you expect the other players to see that, too. Their version of the game stays in sync with yours and vice versa. How does this work?
One instance of the running game acts as a host or server. Other players are concurrently connected to the same. When you move, your character's new position is shared with each of the other connections, which then updates your avatar's position in their own views. Similarly, when your game receives a changed position of another character, it is updated in your view. The faster, the better. That is, the...