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 :

Utilisation emit() avec express@4.10.2


Sujet :

NodeJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut Utilisation emit() avec express@4.10.2
    bonsoir,
    Pièce jointe 225233
    comme vous voyez dans l'image ci-dessus, le serveur est bien lancé et il écoute le port 3000 et il détecte aussi les utilisateurs qui se connectent.
    par-contre la fonction emit(), n'a jamais fonctionné, les messages écrit ne sont pas ajoutés à <ul id="messages"></ul>, et même dans le cmd y'a rien.
    les deux fichiers que j'utilise c'est index.html et index.js(server).
    index.html :
    Code html : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <!doctype html>
    <html>
      <head>
        <title>Socket.IO chat</title>
        <style>
          * { margin: 0; padding: 0; box-sizing: border-box; }
          body { font: 13px Helvetica, Arial; }
          form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
          form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
          form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
          #messages { list-style-type: none; margin: 0; padding: 0; }
          #messages li { padding: 5px 10px; }
          #messages li:nth-child(odd) { background: #eee; }
        </style>
     
      </head>
      <body>
        <ul id="messages"></ul>
        <form action="" id="form">
          <input id="m" name="messg" autocomplete="off" />
          <input type="button" id="submit" value="Send"/>
    	</form><script type="text/javascript" src="../global_jQuery/jquery-3.1.1.js"></script>
    	<script type="text/javascript" src="/node_modules/socket.io-client/socket.io.js"></script>
     
     
        <script type="text/javascript">
            
              var io = io.connect("http://localhost:3000/IOSocket");
              
              io.on('this', function (data) {
            $('body').text( $('body').text() + data + '\n' );
              });
              
          io.on('chatmessage', function(msg){
                    $('#messages').append($('<li>').text(msg));
                    console.log(msg);
          });
              
              io.on('join',function(data){
              console.log(data);
              });
              $(function(){ 
                    $('form').on("submit",function(e){
                            e.preventDefault();
                            var _message=$("#m").val();
                            io.emit('chatmessage',_message);
                            $('#m').val('');
              });
              
              });
             
        </script>
     
     
      </body>
    </html>

    index.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    var express=require('express')
    , app = express()
    , server = require('http').Server(app)
    , io = require('socket.io')(server);
     
    /*
    app.get('/', function(req, res){
      res.sendfile('index.html');
    });*/
    app.use("/", express.static(__dirname ));
     
    io.on('connection', function(socket){
     
    	socket.on('join',function(){
    		io.emit('this', { will: 'be received by everyone'});
    		io.emit('join','Hello World from client');
    	});
     
    	socket.on('chatmessage',function(msg){console.log('Message :'+msg);});
     
     
     
     
     console.log("utilisateur se connecte !");
    });
     
    server.listen(3000,function(){console.log("Serveur à l'écoute du port :"+server.address().port );});
    je voudrais savoir pourquoi emit n'envois pas de message et aussi si nodejs require un service Windows ou quelque chose comme ça, par-ce que il y'a quelques jours que j'ai arrêté quelques services qui utilisait le port 80, ça me bloquait le xampp.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    poussez-moi s'il vous plait, j'ai telechargé 3 projets depuis github et toujours le même problème, serveur lancé, il détecte les utilisateurs en ligne, mais emit() ne fonctionne pas. je commence à douter que le problème à une relation avec un service de Windows. je dis n'importe quoi?

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Bonjour,
    il ne te manquerait pas un écouteur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var io = require('socket.io').listen(server);

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    j'ai essayé .listen(server) mais toujours la même chose, la fonction emit n'envois et ne reçois rien, je n'ai aucune erreur dans la console, est ce que nodejs exige un service bien précis sous Windows? je pose cette question par-ce que je suis sûr que le problème est dans ma machine, vu que j'ai testé plusieurs projets sur le net et toujours la même chose avec emit.

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    bonjour,
    s'il vous plait, et si vous avez le temps et l'envie, ce lien est la documentation des socket.io, si quelqu'un peut faire un petit test et voir si ça fonctionne chez lui, ce serai très gentil.
    j'ai utilisé tout ces codes, mais emit() ne fonctionne toujours pas.

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('form').on('submit', function (e) {
    Il n’y a pas de bouton submit dans ton formulaire il n’est jamais soumis…
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec express studio
    Par kokel dans le forum Windows Forms
    Réponses: 17
    Dernier message: 10/09/2007, 18h06
  2. Problème avec expression régulière
    Par zoidy dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 22/08/2007, 09h43
  3. [RegEx] problème avec expression regulière
    Par teen6517 dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2007, 11h39
  4. [RegEx] Problème avec expressions régulières.
    Par Cygnus Saint dans le forum Langage
    Réponses: 12
    Dernier message: 14/08/2006, 11h55

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