27-01-2013, 09:48 PM
(Modification du message : 27-01-2013, 10:02 PM par Sephi-Chan.)
Hello !
Ca y est, je me décide enfin de poster ! Cela fait un petit moment que je vous lis, et je suis impressionné par la qualité des discutions au sujet de node.
J'utilise aussi la technologie pour un jeu et rencontre actuellement des plantages depuis la mise en production (béta). J'ai besoin à ce jour de vos lumières
Grossièrement, je créer (côté serveur), un tableau qui contient mes joueurs ainsi que leurs informations :
Le problème qui se pose est que aléatoirement le serveur plante avec ce genre d'erreur :
Je pense alors à la piste suivante : le joueur est déconnecté et pourtant passe toujours dans un cas du type : socket.on('message', function(proposition){...}); . Le programme ne trouve alors plus la valeur de dernierMessage car il est passé par la déconnexion :
Es-ce une erreur connue? Quelle est la facon de contourner le problème? Merci par avance pour vos lumières !
Ca y est, je me décide enfin de poster ! Cela fait un petit moment que je vous lis, et je suis impressionné par la qualité des discutions au sujet de node.
J'utilise aussi la technologie pour un jeu et rencontre actuellement des plantages depuis la mise en production (béta). J'ai besoin à ce jour de vos lumières
Grossièrement, je créer (côté serveur), un tableau qui contient mes joueurs ainsi que leurs informations :
socket.on('login', function(user){
joueurs[user.username] = user;
joueurs[user.username].dernierMessage = d.getTime();
....
}
Le problème qui se pose est que aléatoirement le serveur plante avec ce genre d'erreur :
if(joueurs[me.username].dernierMessage>parseInt(d.getTime())-1500) { bod
^
TypeError: Cannot read property 'dernierMessage' of undefined
Je pense alors à la piste suivante : le joueur est déconnecté et pourtant passe toujours dans un cas du type : socket.on('message', function(proposition){...}); . Le programme ne trouve alors plus la valeur de dernierMessage car il est passé par la déconnexion :
socket.on('disconnect', function(){
if (!me){return false;}
delete joueurs[me.username];
}
Es-ce une erreur connue? Quelle est la facon de contourner le problème? Merci par avance pour vos lumières !