Voila je me lance dans la programmation d'un petit jeu en réseau.
En gros j'ai un serveur qui gère le déroulement du jeu, et un certain nombre de clients qui ne sont en fait que des interfaces utilisateurs distantes.
Les clients envoient au serveur les entrées de l'itilisateur, et le serveur envoie au client l'état de l'aire de jeu pour qu'ils la redessinent.
Il y a donc un certain nombre de contraintes :
- le serveur peut accepter un nombre indeterminé de clients.
- de nouveaux clients peuvent se joindre à la partie à n'importe quel moment.
- le client, comme le serveur, sont susceptibles d'envoyer des messages à l'autre à n'importe quel moment. Aucun des deux ne sait quand il est susceptible de recevoir un message de l'autre, et ils sont susceptibles de s'envoyer des messages en même temps.
- les communications se font par messages prédéterminés, qui sont en fait des structs qui ont toutes la même taille, avec un identifiant pour indiquer le type de message.
Alors voila comme je n'ai jamais programmé de sockets, je voudrais quelques conseils : quel type de sockets utiliser (STREAM, DGRAM ?), quels stratégies adopter pour le serveur (1 thread par client ?), et pour les echanges entre les protagonistes (1 seule socket pour parler dans les 2 sens, ou des sockets à sens uniques...).
Bref je voudrais tout savoir quoi
---------------
Au royaume des sourds, les borgnes sont sourds.