Naja...
Ich denke nicht das es ein Buch darüber gibt.
Aber du kannst dir sowas relativ schnell selber ausdenken.
Du solltest als erstes klären ob es einen Server geben soll , der dazu dient
die Daten zwischen den Klienten auszutauschen oder , Server unabähängig zu arbeiten und das
ein und das selbe Packet an alle Klienten zu senden ( was ich nicht empfehlen würde ).
Du solltest auch klären , ob du TCP oder UDP verwendest.
TCP ist Server basiert und es muss eine Verbindung aufrecht gehalten werden.
Bei UDP kannst du direkt Daten an die und die IP und den Port los senden ( Server unabhängig ).
Soweit ich weiß benutzen die meisten Spiele das TCP Protokoll.
Übertragen auf ein Spiel , in dem es die Aufgabe ist dorthin zu rennen könnte man das folgendermaßen anstellen.
Man programmiert einen Server.
Dieser hat zwei Threads.
Ein Thread davon nimmt stetig Verbindungen an und der andere empfängt Packete der schon bestehenden Verbindungen.
Jeder Klient hat dann auch mindestens zwei Threads.
In einem Thread werden die Packete empfangen und verarbeitet und in dem anderen Thread
wird die Grafik des Spiels gerendert.
Nehmen wir mal an , dass 4 Spieler zu unserem Server verbunden haben.
Niemand bewegt sich.
So sollten auch keine Packete versendet werden.
Bewegt sich nun Spieler 1 , so sendet der Klient von Spieler 1 ein Packet mit der neuen Position von Spieler 1 an den Server.
Der Server sendet dann Spieler 2 , Spieler 3 und Spieler 4 ein Packet mit der neuen Position
Der Klient von Spieler 2 , Spieler 3 und Spieler 4 empfängt das Packet mit dem einen Empfangs Thread der eingerichtet wurde.
Dieser Thread verändert nun die Position von Spieler 1 , sodass wenn eine neue Frame gerendert wird , Spieler 1 die Position hat , die er haben soll.
Solltest du das nicht genau verstanden haben kannst du mich ja per ICQ hinzufügen.
MfG Stazer
Edit : In C++ von A bis Z steht alles drin , was du wissen musst
.
MfG Stazer