When exclusively moving from HTTP to WebSockets the only difference between client and server is that a server has an event listener running to listen for socket connections. In a distributed model everyone is both a client and a server where the role is dictated by who initiates to connection. This is the model used by git, which is why git uses term <i>local/remote</i> instead of <i>client/server</i>.