Before we begin implementation, let's take a look at what multiplayer networking is all about and define some terms.
Consider a situation where you are running a VR application that is connected to a server, and several of your friends are 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?
Your game creates a connection to a server. Other players are simultaneously connected to the same service. When you move, your character's new position is broadcast to each of the other connections, which then updates your avatar's position in their own views. Similarly, when your game receives the changed position of another character, it is updated in your view. The faster, the better. That is...