Inviare messaggi a tutti i client in Socket.io
Socket.io ha la possibilità di inviare messaggi a tutti i client connessi (broadcasting) in maniera veramente easy.
Penso sia più facile visualizzare un esempio; partiamo dal Javascript:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var clients = 0;
app.get('/', function (req, res) {
res.sendFile('index.html', {root: __dirname});
});
io.on('connection', function (socket) {
clients++;
io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
socket.on('disconnect', function () {
clients--;
io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
});
});
http.listen(3000, function () {
console.log('listening on *:3000');
});