Use the server to provide a synchronized event only to two clients who share their mutual proximity (random, like the pair and pair analyzer Partner-1 or Partner-2, which they share to their respect, calls to the synchronization event).
Suppose that both clients are on the same subnet (packets of two events serialized on the server arrive through the network at two clients simultaneously on the client side). This provides synchronous play on 2 connected clients.
The event sent by the server is either a confirmation for playing the selected track in the queue, or broadcast (untied, more formal)
The only tricky thing is the server side algorithm that implements this:
Queue in a couple of requests or errors
Part 1, part 2 with the same value in random order make up a real pair if both of them were received before both times ended.
In a valid pair schedule as to the same future event in their respective, perfect answers.
OnSchedule does the actual IO for two pair requests. Corresponding packets will be returned to the corresponding clients at the same time, with each response being subjected to equal network latent time
Ng if two carriers of a 4G carrier network are involved. (Unfortunately)
source share