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 :

Réception coté serveur


Sujet :

NodeJS

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Réception coté serveur
    salut a tous.
    cela fait un petit moment que je me suis mis a nodejs
    et comme tout debut j'ai un probleme qui m'empeche d'avancer et j'ai vraiment besoin de vos eclaicissements.

    voici le code serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var http =  require('http');
    httpServer = http.createServer(function(req,res){
    }).listen(1337);
     
    var io = require('socket.io').listen(httpServer);
     
    io.sockets.on('connection',function(socket){
    	console.log('\n nouvel utilisateur...');
    	socket.on('login',function(user){
    		console.log(user);
    	});	
    });
    et voici le code client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var socket = io.connect('http://localhost:1337');
    $('input:button').on({
    	click:function(e){
    		$('div').append('on envoie <br>');
    		socket.emit('login',{username:$('#login').val(),password:$('#password').val()});
    	}
    });
    le serveur recoit bien l'evenement "connection" mais ne recoit aucunes donnees quand le client lui envoie des donnees comme l'evenement "login"

    quelqun pourrait t-il m'aider ?? merci a tous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Là j'avoue que je ne vois pas bien d'où peut venir le problème au niveau socket.io.

    Côté serveur
    • la console n'affiche rien du tout ? C'est juste les données qui ne sont pas envoyées ou le serveur ne reçoit carrément pas le signal login ?
    • l'application ne plante pas ?

    Côté client
    • la console de soulève pas d'erreur ?
    • le 'on envoie <br>' s'affiche bien ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 201
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Essai de remplacer dans le navigateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.emit('login',{username:$('#login').val(),password:$('#password').val()});
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    socket.emit('user message',{action: 'login', username:$('#login').val(),password:$('#password').val()});
    et sur le serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    socket.on('login',function(user){
    		console.log(user);
    	});
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    socket.on('user message',function(user){
    		console.log(user);
    	});
    Et dit moi si ca fonctionne mieux. J'ai été face à un pb similaire lors de test, et il m'etait apparu que je ne pouvais pas mettre ce que je voulais en 1er argument de la fonction emit().

    C'est a mon avis une subtilité que je n'ai pas encore comprise.

    Et pour tout dire, je n'attends qu'une chose, c'est qu'on me fasse mentir sur ce sujet

  4. #4
    Invité
    Invité(e)
    Par défaut
    En fait, tu peux mettre ce que tu veux. C'est juste que certains signaux sont utilisés par la librairie en elle même. Par exemple, lors de la déconnexion d'un utilisateur, le signal 'disconnect' va être émis.

    Mais j'ai déjà fait un petit chat pour m'entrainer au début, et j'ai utilisé le 'login' comme signal pour l'authentification. Ca marchait bien

    Voici la liste des signaux dont se sert la librairie et qui peuvent donc créer des conflits s'ils sont utilisés dans un autre but.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 201
    Points : 150
    Points
    150
    Par défaut
    Ah super !!

    Je cherchais depuis pas mal de temps la liste de mots reservés !!!

    Désolé de ne pas t'avoir plus aidé...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    ce serait interessant de rajouter les logs coté serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    io.configure('development', function(){
      io.set('log', 3);
    });
    c'est pas une réponse, mais peut faire avancer le schmilblik

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci a tous je remarque que dans les transports quand j'enleve websocket le serveur recoit bien tout les signaux sinon ca ne marche pas c'est bizard non?

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    j'enleve websocket le serveur recoit bien tout les signaux sinon ca ne marche pas c'est bizard non?
    Pas forcement! mais tu es chiche en description.
    dans quel environnement système et réseau? quel navigateur? un firewall?

    tu peux jeter aussi un coup d'oeil ici: Socket.IO-and-firewall-software

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci pour le lien en effet je me rend compte que mon anti virus block les websockets. Mais c'est abberant on ne peut faire une application avec nodejs et dire au utilisateur de desactiver leur firewall?

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    Cela devrait ce résoudre avec le temps et la montée en puissance des websockets.

    en attendant:
    Moving WebSocket traffic to port 443 (with and without SSL) fixed the problem

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Ok mer pour le tuyaux je vais . Et poster plutart le resultat

  12. #12
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    desole mais c'est toujours la meme chose meme quand je desactive mon anti virus et firewall le resultat est pareil la communication avec comme transport les websockets ne passe pas.
    pour le moment j'evolue en enlevant ce moyen transport la.
    le temps que je trouve une solution a ce probleme bizard.

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    Alors retour aux fondamentaux:

    dans quel environnement système et réseau? quel navigateur? la question sous-jacente, est-tu sur que ton navigateur gère les websockets?

    tu peux voir ça ici

  14. #14
    Membre à l'essai
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    bien sur que mon navigareur support les socket. firefox derniere version et chrome egalement. donc moi je pense a un petit probleme au niveau du module socket.io. je dis encore quand j'enleve websocket des transports supportes tout va bien

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    bien sur que mon navigareur support les socket
    Bha ce n'est pas si évident car je ne connais pas ton environnement de travail; de plus à une période les websockets ont été désactivés pour raison de sécurité (dans ff si mes souvenirs sont bons) avant d'être ré-activées, d'où ma question.

    je dis encore quand j'enleve websocket des transports supportes tout va bien
    J'avais compris la première fois
    socket.io utilise donc une autre méthode comme le long-polling. La seule chose que l'on peut en déduire est un problème avec les... websockets.

    Tu peux nous donner la trace du mode debug (mon post du 06/03/2013 09h50) avec les websockets dans la liste des transport?

    Pas forcement pertinent, mais tu utilise quel OS ?

Discussions similaires

  1. [BackboneJS] Réception de données coté serveur
    Par guillaumerivière7 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 11/07/2014, 14h30
  2. [Upload] Upload de fichier réception PHP coté serveur
    Par Watier_53 dans le forum Langage
    Réponses: 4
    Dernier message: 10/03/2008, 10h53
  3. [XSL] xsl coté serveur? (asp par exemple)
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/02/2006, 17h37
  4. [Struts 1.2] : validation coté serveur
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/09/2004, 15h42
  5. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

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