JeuWeb - Crée ton jeu par navigateur
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)

Pages : 1 2 3 4 5 6


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 Smile


RE: WebSockets et Html5 - niahoo - 18-07-2012

Ça tourne comment php sur node, c'est du fastCGI ?