WebSockets et Html5 - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : WebSockets et Html5 (/showthread.php?tid=6210) |
RE: WebSockets et Html5 - Astarion - 18-06-2012 Il n'y à pas de système d'écoute en tant que soit, et rien n'est créé ... Quand tu lance ton client (ton navigateur), cela instancie une connexion sur ton serveur Node.js sur le port d'écoute spécifié... Si toutes les config sont bonnes, le Handshaking se fait et ton serveur attribue le canal à ce client... Ensuite pas besoin de savoir où parler ou où écouter, c'est une connexion persistante : un canal, un client ... Les groupes servent seulement à agglomérer plusieurs canaux, mais il n'y à pas d'écoute de port la dedans... Le seul moment où tu as de l'écoute de port, c'est à la connexion et quand ton serveur retourne le Handshake à ton client, après tout passe par les canaux direct. RE: WebSockets et Html5 - niahoo - 18-06-2012 Je parle pas de port, je dis juste que quand tu vas émettre sur le canal 'bidule', pour que quelqu'un écoute sur ce même canal il faut bien spécifier 'bidule' à un moment donné. Mais en relisant ton précédent post, je crois comprendre qu'il se contente d'écouter le serveur et que c'est le serveur seulement qui fait correspondre un client donné à 'bidule'. Le client JS n'a pas connaissance du nom à aucun moment. j'ai bon ? Mais pour que le serveur le sache, il faut quand même s'identifier auprès de lui, avec un id joueur par exemple. Et une clé de sécurité je suppose, sinon tout le monde pourrait écouter tout le monde. RE: WebSockets et Html5 - Astarion - 18-06-2012 Tout à fait ! Le client ne sait rien de sa (ou ses) nomination(s) coté serveur ! Et oui, il faut faire une authentification à l'instanciation de la connexion sinon un petit malin peut aller écouter ce qui se passe sur les autres canaux ! RE: WebSockets et Html5 - Maks - 18-06-2012 Dans le cas d'une room tout se passe sur le serveur en effet. Socket.IO prévoit des "namespaces" où là en effet le client se connecte à un "namespace" particulier : io.connect('/chat'); par exemple, de façon claire donc côté client. RE: WebSockets et Html5 - Aleskweb - 18-07-2012 Bonjour, Hum, le projet avance a grands pas, mais je suis confronté a un petit problème. Peut-on exécuter un script php depuis le serveurs socket io ? Car il n'est pas bien compliqué d’exécuter des scripts php dans un page html, mais depuis du javascript pur, je n'ai rien trouvé Merci d'avance RE: WebSockets et Html5 - Astarion - 18-07-2012 Oui on peut, on l'utilise pour notre projet ! Ce tuto devrait bien t'aider : http://www.scriptol.fr/javascript/nodejs-php-html.php (Hésite pas à DL les fichiers, ils sont assez explicites !) RE: WebSockets et Html5 - Aleskweb - 18-07-2012 websocket.on('interface', function (data) { path.exists(localpath, function(result) { runScript(result, localpath, data)}); }); C'est donc cette fonction? Jvais dl ca pour voir RE: WebSockets et Html5 - Astarion - 18-07-2012 Oui, avec les dépendances qui vont avec ... En version plus simple ça donne ça : var runner = require('child_process'); function runScript(file, data, callback){ runner.exec("php " + file + " " + data, function(err, stdout, stderr) { callback(stdout); }); } RE: WebSockets et Html5 - Aleskweb - 18-07-2012 Ok merci, au début je voulais load jquery pour utiliser getScript(), mais apparemment ça marche pas. Je vais tester ca RE: WebSockets et Html5 - niahoo - 18-07-2012 Ça tourne comment php sur node, c'est du fastCGI ? |