node.js - Socket.io firing callback function multiple times -


i'm working on multiplayer canvas game using node.js , socket.io , i'm having problems node server throwing ton of same error after client handshake established.

here's copy/paste console:

    info  - handshake authorized gedlfwyedfeijxgvozjg     new player connected: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 22:3:26 - (onmoveplayer) player not found: gedlfwyedfeijxgvozjg 

you can check full code here: http://github.com/storrdev/delta-wing

basically i'm having problem node console server.js (node script) spits out "(onmoveplayer) player not found: connection id" connection id id of client connected.

i wrote error message display when function onmoveplayer() called when server receives "move player" message client , player's id cannot found in array of players stored on server.

what can't understand server shouldn't invoking onmoveplayer() function until client emits "move player" message server, , client shouldn't emit "move player" message until after connection established, , emits "new player" message server.

why throwing error many times? socket.emits sent out of order? i'm confused.

i know convoluted appreciate or ideas can get. hoping typing situation out me figure out, unfortunately has not.

there problem in game.update in game.js, seems calling recursively.

if (game.players[0].update()) {     //this seems execute recursively.     socket.emit('move player', {x: game.players[0].getx(), y: game.players[0].gety(), angle: game.players[0].getangle()});     game.background.update(game.players[0].getx(), game.players[0].gety()); } 

i checked by

count=0; if (game.players[0].update()) {     socket.emit('move player', {x: game.players[0].getx(), y: game.players[0].gety(), angle: game.players[0].getangle()});     count +=1;     console.log(count);     game.background.update(game.players[0].getx(), game.players[0].gety()); } 

i not understand logic looking @ code , tell if right behaviour. keeps sending move player requests server.

edited

after testing, found issue due synchronization.

when client loads page, starts emitting move player right away, before connects server , runs onsocketconnected. number of lines on error console equal number of messages sent before connected socket server shown in console. try code used debugging.

so breaking assumption client shouldn't emit "move player" until after connection established. hope helps you.


Comments

Popular posts from this blog

javascript - DIV "hiding" when changing dropdown value -

Does Firefox offer AppleScript support to get URL of windows? -

android - How to install packaged app on Firefox for mobile? -