Forum

You are not logged in.

#1 02-12-2018 21:12:22

crazykangourou
Membre
Registered: 17-09-2017
Posts: 8

socketio io.emit en fonction du path et des parametres

Bonjour,

Je suis nouveau sous nodejs et je rencontre l'incompréhension suivante sur socket.io et express :

les évènements à l’écoute :
io.sockets.on('connection', (socket) => {

  socket.on('command',function(cmd){
      io.emit('message','commande demandée : '+cmd.message);
  });
 
 
  socket.on('disconnect',function(cmd){
    socket.broadcast.emit('message','Déconnection de '+ socket.handshake.session.userName +' à '+new Date().toJSON());
    delete socket.handshake.session.userName;
    socket.handshake.session.save();
  });
 
  socket.handshake.session.save();
});

/* demarre le serveur socket */
server.listen(conf.port,conf.host,511,function () {
  console.log('server start : port='+conf.port+' - host='+ conf.host);
});

ce code  fonctionne
app.get('/command', function(req, res) {
  var log=req.query.login;
  req.session.userName=log;
  console.log(req.query);
  if(req.query.token=='toto'){
    console.log('commande='+req.query.c);
    io.emit('message',{message:req.query.c});
  }
  res.end();
});

ce code ne fonctionne pas
app.get('/command', function(req, res) {
  var log=req.query.login;
  req.session.userName=log;
  console.log(req.query);
  if(req.query.token=='toto'){
    console.log('commande='+req.query.c);
    io.emit('commande',{message:req.query.c});
  }
  res.end();
});


socket.on('command',.... semble ne pas fonctionner....
alors que socke.on('message'',....); fonctionne alors qu'il n'a pas été défini

Pourquoi SVP hmm

Ce que je souhaite faire c'est décoder les  paramètres http et en fonction de certains paramètres et path, et effectuer une action en fonction.

Merci d'avance pour votre aide précieuse.

Voici mon package
{
  "name": "apptest",
  "version": "1.0.0",
  "description": "appli socket",
  "main": "app.js",
  "dependencies": {
    "body-parser": "^1.18.3",
    "ejs": "^2.6.1",
    "express": "^4.16.4",
    "express-session": "^1.15.6",
    "express-socket.io-session": "^1.3.5",
    "socket.io": "^2.0.3"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "toto",
  "license": "ISC"
}

Last edited by crazykangourou (03-12-2018 21:02:45)

Offline

Board footer

Powered by FluxBB