12-06-2012, 08:48 PM
(12-06-2012, 01:02 PM)Enlil a écrit : Voici la solution que j'ai adopté pour ma part.
Frontend en js, qui, toutes les 100ms, envoie au serveur les déplacements du joueur, et récupère du même coup les infos des autres joueurs pour rafraîchir. Seules les infos concernant les joueurs ou éléments de décors qui doivent être affichés sont récupérées, pas celles concernant tous les éléments/joueurs de la map entière (vu que seule une partie de la map est visible à un temps donné). C'est le script côté serveur qui détermine quels éléments sont visibles par le joueur ou pas en fonction de sa position.
Je trouve l'envoi de requêtes toutes les 100ms relativement lourd pour le client, mais aussi au niveau de la bande passante ... Je ne sais pas quel protocole tu utilises, mais si c'est du HTTP, c'est vraiment pas performant ... (Envoi de l’entête HTTP à chaque requête !)
Il faut vraiment passer par des Websockets ou abstraction ... Comme dit plus haut, si tu n'as pas de dédié tu peux passer pas des services Web, sinon avec un dédié, un serveur node.js avec socket.io est très simple à mettre en place et vraiment performant !