Hey Community!
Ich habe einige Fragen bezüglich des Aufbaus und der Funktionsweise eines Gameservers für ein Jump n' Run ähnliches Spiel.
Momentaner Stand der Dinge:
CLIENT:
---------
- Connected zum Server
- Erstellt einen Thread für das Empfangen von Nachrichten und verarbeitet diese dann sofort
- Im MainThread werden dann die eigenen Packete versendet
SERVER:
----------
- Socket wird an den Port 12345 gebunden und lauscht
- Server akzeptiert eine einkommende Verbindung und erstellt einen Thread für das Empfangen von Nachrichten
....(hier komme ich nicht weiter)
Nun meine Fragen:
Ist das Erstellen eines Thread pro Client wirklich sinnvoll und effizient oder sollte ich lieber einen Selector nutzen?
Wann und wo soll ich die von den Threads empfangenen Daten verarbeiten -> Direkt nach Empfang und im Thread selbst oder zuerst auf eine Queue verschieben und anschließend in einem seperatem Thread(Ein Thread pro Client oder einer insgesamt? Eine Queue pro Client oder eine insgesamt?)?
Wie oft soll ich die aktuelle Position des Objektes versenden, ich dachte da so an 20-30 Mal, reicht das oder ist das sogar schon viel zu viel?
Ich wollte zuerst die Queue implementieren doch dann fing ich an zu Zweifeln wegen der vielen Zugriffe von den unterschiedlichen Threads, d.h. ich müsste ein Mutex nutzen, was aber dann wieder das Ganze hinauszögern würde...
Ich hoffe, dass ihr mich einigermaßen verstanden habt.
lg. denniro