[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.
Ensuite, vous devez ajouter ce code dans ../bin/www . Il doit être mis après server.on('listening', onListening);
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à!
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 :
[Nicolas]
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]
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum