- User / Client
- Each User may do whatever they wish.
- I.E. a bridge program might allow you to take part in multiple tournaments.
- Each Client may be connected to by multiple Users
- I.E. A bridge program and a poker program on the user's machine might both share
the same fairdice client app.
- Client / Server
- Each Client may connect to multiple Servers
- (multiple servers per user too).
- Each Server may be connected to by multiple Clients
- Indeed this has to happen for multi-user games.
- Server / Host
- Each Server may connect to or be connected to by multiple Hosts
- For instance, a casino might run blackjack, roulette and poker hosts from the
same server app.
- Each Host may do whatever they want.
- There is nothing to stop the creation of multi-host games on a peer-peer basis.
What you don't get is User / Server or Client / Host.
User / Host communication is likely to happen, either direct or through tunneling.
However what is said between these is use-dependant and outside this specification.