forum pédagogique programmation systèmes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

Aller en bas
avatar
Admin
Admin
Messages : 112
Date d'inscription : 16/11/2018
https://progsys.forumactif.com

[A20] Socket io et express generator Empty [A20] Socket io et express generator

Lun 19 Juin - 15:07
Bonjour,

voilà la procédure pour faire fonctionner soket.io dans un express-generator.

Créez un fichier socketApi.js à la base du répertoire Ex: ../labo5/socketApi.js. Ajoutez le code suivant dans ce fichier.

Code:
var socket_io = require('socket.io');
var io = socket_io();
var socketApi = {};

socketApi.io = io;

io.on('connection',function(socket){
    console.log('A user is connected!');
})

socketApi.sendNotification = function() {
    io.sockets.emit('hello', {msg: 'Hello World!'});
}

module.exports = socketApi;

Ensuite, vous devez ajouter ce code dans ../bin/www . Il doit être mis après server.on('listening', onListening);

Code:
/**
 * Socket.io
 */
var socketApi = require('../socketApi');
var io = socketApi.io;
io.attach(server);

Aussi, vous devez ajouter cette ligne dans votre fichier ../route/index.js tout en haut avec les autres variables
Code:
var { io } = require('../socketApi');

Finalement, vous ajoutez ces lignes dans votre index.ejs et voilà!

Code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.1/socket.io.js"></script>
<script>
      var socket = io.connect('http://localhost:3000');
</script>

J'espère que cela vous aura aidé Smile!

[François G.]

Excellente astuce !
Je vais cependant attirer votre attention sur ce qui semble être une erreur d'appel de socket.io dans la page client. Utilisez plutôt :
Code:
<script src="/socket.io/socket.io.js"></script>

[Nicolas]
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum