Bonjour,
je développe en ce moment un duo Client / Serveur pour un jeux réseau 2D.
J'utilise les sockets pour les échanges entre client et serveur.
Tout ce passe bien pour le moment à ce niveau mais j'ai besoin de quelques précisions :
J'utilise un serveur multi-thread et une seule socket : une thread principale analyse le premier message et distribue le travail à d'autres threads ( chaque client à une thread à son écoute ).
Une fois dans le jeu, le client à besoin en continu des différentes coordonnées des personnages étant sur la même carte que le joueur.
J'utilise les méthodes .write .flush et .readLine pour l'envoie d'informations, mais cela me parait un peu fastidieux d'envoyer sans arrêt les coordonnées de cette façon.
J'ai pensé à utiliser l'envoie d'objet plutôt que de string mais cela ne me parait toujours pas très correct :
Sachant que le client dispose de plusieurs thread qui doivent envoyer les coordonnées et les recevoir, envoyer différente caractéristiques au serveur, écouter certaines actions pour les envoyer, j'ai peur qu'une fois deux thread du serveur se 'superpose' et ainsi les coordonnées envoyés par le serveur soit pris pour des points de vie ( par exemple ).
Quels sont les moyens pour avoir une bonne relation client/serveur ?
Partager