IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Impossible de générer évènement côté client ==> server.js


Sujet :

NodeJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Par défaut Impossible de générer évènement côté client ==> server.js
    Bonsoir ,

    Excusez j'ai un soucis avec node js , j'utilise une page php ainsi que deux pages js , "server.js" , "client.js et une page php , mais voilà au fait , je voudrais générer un évènement à partir du fichier "client.js" , et ensuite , lorsque cet évènement survient executer un code spécifique dans le fichier "server.js"

    voici mon soucis : un " .émit " dans le fichier "serveur.js " ==> socket.on('evenement, function(){}); fonctionne correctement mais par contre , l'inverse :

    ".emit " dans le fichier "clien.js" ==> socket.on('evenement', function() { }); ne fonctionne pas , pourriez vous me dire à quoi cela est du , et comment je peux résoudre ce problème , voici le contenu de mes deux fichiers :

    client.js

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $(document).ready(function() {
     
    	var socket = io.connect('http://localhost:8080');					   
     
    	// au moment du click sur le bouton envoyer , je génère un évènement avec quelques paramètres 
    	$('#envoyer').click(function(event) {
    		event.preventDefault();
    		socket.emit('reception', { message : $('#contenu').val()});
    	});
    	socket.on('retour',function(msg) {
    		console.log(msg	);
    	});				   
     });

    server.js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // JavaScript Document
    var http = require('http');
     
    httpServer = http.createServer(function(req,res) {});
    httpServer.listen(8080);
    var io = require('socket.io').listen(httpServer);
    	io.sockets.on('connection',function(socket) {
    		console.log('nouveau utilisateur');
    		socket.on('reception', function(message) {
    			/*  le emit situé ici ne marche pas car tout simplement ne recoit pas cette fonction	 */					
    			socket.emit('retour', { message : message});
    		});
    		// le emit situé ici par contre , lui marche
    		//socket.emit('retour', { message : 'message'});
     
    	});
    Merci de votre attention

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu es sûr que la variable io est connue dans la closure $(document).ready() ?
    Que te dis Firebug ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Tu es sûr que la variable io est connue dans la closure $(document).ready() ?
    Que te dis Firebug ?
    Oui , ma variable io est connue car , dans le fichier 'server.js' , j'ai ajouté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	io.sockets.on('connection',function(socket) {
    		console.log('nouvel utilisateur');
    et donc , je me dis que si "io" n'était pas connu , je ne devrais pas voir afficher " nouvel utilisateur " lorsque l'utilisateur a accès à la page

    ensuite , bizarre mais firebug ne m'indique et pourtant aucune erreur

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ce n'est pas parce qu'elle est définie sur le serveur qu'elle l'est sur le client, loin de là !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 23
    Par défaut
    Mais , alors , comment est ce que je peux faire pour la définir sur le client ?
    Merci pour ton attention

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/07/2014, 18h53
  2. Réponses: 2
    Dernier message: 07/06/2012, 12h29
  3. [JVM]Différences entre client et server
    Par ssaunois dans le forum Général Java
    Réponses: 4
    Dernier message: 11/02/2010, 17h33
  4. [vba] Envoi de fichier ascii client Windows => server Lin
    Par kremvax dans le forum Général VBA
    Réponses: 3
    Dernier message: 28/11/2005, 12h00
  5. Client SQL Server
    Par ouechouech dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/04/2005, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo