Skip to content

Instantly share code, notes, and snippets.

@atinux
Last active December 15, 2015 19:19
Show Gist options
  • Select an option

  • Save atinux/5310929 to your computer and use it in GitHub Desktop.

Select an option

Save atinux/5310929 to your computer and use it in GitHub Desktop.
Envoyer des sockets depuis la console node.js
var http = require('http');
var fs = require('fs');
var io = require('socket.io');
// La page HTML
var html = '<meta charset="UTF-8">'
+ '<script type="text/javascript" src="/socket.io/socket.io.js"></script>'
+ '<script type="text/javascript">'
+ 'var socket = io.connect();'
+ 'socket.on("serverConsole", function (message) {'
+ ' console.log("Vous avez écrit dans la console :", message);'
+ '});'
+ '</script>'
+ '';
// Création du serveur
var app = http.createServer(function (req, res) {
// On renvoie la page
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(html);
});
// Notre application écoute sur le port 8080
app.listen(8080);
console.log('Server est en marche sur http://localhost:8080/');
// On lance socket.io
io = io.listen(app);
// On désactive les logs info et debug de socket.io pour ne pas polluer la console
// (https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO)
io.set('log level', 1);
// On va stocker tous les clients connectés
var clients = [];
// Quand un client se connecte...
io.sockets.on('connection', function (socket) {
// On l'ajoute au tableau
clients.push(socket);
});
// Il faudra gérer le cas où il se deconnecte pour l'enlever du tableau
// Lecture de la console
var stdin = process.openStdin();
// À chaque fois qu'on a cliqué sur la touche Entrée...
stdin.addListener("data", function (s) {
// On transforme le buffer en string et on enlève le \n
s = s.toString().replace(/\n/g, '');
// On va parcourir tous nos clients connectés pour leur envoyer un évènement
clients.forEach(function (socket) {
socket.emit('serverConsole', s);
});
});
console.log('Ecrivez dans la console pour que les clients recoivent votre message !');
@atinux

atinux commented Apr 4, 2013

Copy link
Copy Markdown
Author

Vous devez avoir node.js et le module socket.io d'installé sur votre machine.

Ensuite, il vous suffit de lancer node console-socket.js.

Rendez-vous sur http://localhost:8080 avec un navigateur, et ouvrez la console sur navigateur (f12 pour Chrome).

Retournez sur la console node.js, écrivez du texte puis appuyer sur la touche Entrée (ou ctrl + d).

-> Regarder le message dans la console de votre navigateur internet !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment