Ton code ne va pas pour la création du cookie, ni pour la récupération de l'id de session. Il ne faut pas oublier que le serveur sera appellé par plusieurs utilisateurs et que donc la fonction de callback que tu donnes à createServer sera exécuté par plusieurs utilisateurs différents. C'est pour cela que la méthode la plus simple est que le client lui même envoit l'id de session au serveur. Pour l'histoire de la création du cookie, c'est une bonne idée mais il faudra le rajouter aux en-tete HTTP de l'objet req qui récupère le contenu de ton PHP.
Ba dans ce cas là il faut faire un setTimeout côté serveur pour relancer l'evenement. Mais ton système est bancale si c'est ce que tu cherches à faire ! Les sockets ce n'est pas le même raisonnement que l'Ajax. Pour un tel système il faudrait plutôt qu'un client envoit au serveur qu'il a invité un autre utilisateur dans un chat privé, que celui dise justement à cette utilisateur qu'il a été invité dans un chat privé en lui envoyant quelque chose, et que côté client tu fasses l'affichage. C'est la solution qui devrait normalement être utilisé. Pareil pour le chat, un client envoit un message, le serveur le renvoit à tous les usagers. Un client se connecte au chat, le serveur lui renvoit l'historique des messages. Ensuite le Javascript côté client fait l'affichage en fonction des données reçus. Il ne faut plus voir les choses de la même façon qu'avec Ajax ! D'ailleurs, je ne l'ai pas dit avant mais les websockets c'est normalement fait pour passer des données, pas du code source.
Donc après pour tes déplacements c'est la même chose, soit le serveur dit à chaque client où se trouvent chaque personnage a tant d'intervalle, ou alors dès qu'un utilisateur bouge le serveur en est informé et renvoit cette socket à tous les autres clients.
Edit : Pour te montrer l'absurdité de la chose, c'est un peu comme si un serveur de MMORPG passait l'image que doit afficher le client. Dans certains cas ça se comprend, mais pour un tel système c'est pas forcément le mieux.
Ba dans ce cas là il faut faire un setTimeout côté serveur pour relancer l'evenement. Mais ton système est bancale si c'est ce que tu cherches à faire ! Les sockets ce n'est pas le même raisonnement que l'Ajax. Pour un tel système il faudrait plutôt qu'un client envoit au serveur qu'il a invité un autre utilisateur dans un chat privé, que celui dise justement à cette utilisateur qu'il a été invité dans un chat privé en lui envoyant quelque chose, et que côté client tu fasses l'affichage. C'est la solution qui devrait normalement être utilisé. Pareil pour le chat, un client envoit un message, le serveur le renvoit à tous les usagers. Un client se connecte au chat, le serveur lui renvoit l'historique des messages. Ensuite le Javascript côté client fait l'affichage en fonction des données reçus. Il ne faut plus voir les choses de la même façon qu'avec Ajax ! D'ailleurs, je ne l'ai pas dit avant mais les websockets c'est normalement fait pour passer des données, pas du code source.
Donc après pour tes déplacements c'est la même chose, soit le serveur dit à chaque client où se trouvent chaque personnage a tant d'intervalle, ou alors dès qu'un utilisateur bouge le serveur en est informé et renvoit cette socket à tous les autres clients.
Edit : Pour te montrer l'absurdité de la chose, c'est un peu comme si un serveur de MMORPG passait l'image que doit afficher le client. Dans certains cas ça se comprend, mais pour un tel système c'est pas forcément le mieux.