Bonjour ou bonsoir à tous
Je suis actuellement en train de coder un petit pong basique en ligne (donc 1v1).
Pour se faire j’ai donc une application client et une application serveur.
Dans le serveur, chaque fois qu’un client se connecte, un thread d’écoute (MsgIn dans le programme serveur) se crée et en fonction des actions du client/des clients, des messages (MsgOut) sont envoyés à ces derniers.
Au niveau du client, il y a un thread d’écoute (GameSockIn) qui récupère les données qui sont envoyées par le serveur et un thread d’envoie de données (GameSockOut) au serveur.
Je lance mon serveur et mes 2 clients sur le même ordinateur.
Jusqu’ici tout va bien, le serveur se lance sans souci, les 2 clients aussi.
Mais lorsque je fais des actions en continu sur un client (donc bouger la raquette), l’action n’est pas retranscrite parfaitement sur le 2ème client. Il y a comme une impression de « lag ».
Par moment même, par exemple, la balle se déplace de façon X sur le client 1 et sur le client 2 la balle est déjà en dehors de l’écran, etc.
Les données qui sont transmissent entre les applications sont des simples « string ».
J’aimerai savoir où pourrait être le problème dans mon/mes application(s), et éventuellement quel(s) point(s) je pourrais améliorer pour une première application en réseau.
Tous conseils au niveau de la façon de coder, ou autres sont les bienvenus
Merci pour votre aide éventuelle.
Le serveur : http://getfreakzz.esy.es/ServeurPong.zip
Le client : http://getfreakzz.esy.es/PongNet.zip
Partager