socket.io

Mattepuffo's logo
Inviare messaggi a tutti i client in Socket.io

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');
});

Mattepuffo's logo
Intercettare gli eventi in Socket.io

Intercettare gli eventi in Socket.io

Con Socket.io è possibile intercettare / emettere eventi, ed agire di conseguenza.

Ne vediamo tre esempi.

Il primo riguarda l'evento message, che è un evento built-in del framework:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function (req, res) {
    res.sendFile('index.html', {root: __dirname});
});

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

    setTimeout(function () {
        socket.send("Messaggio dopo 3 secondi");
    }, 3000);

    socket.on('disconnect', function () {
        console.log('A user disconnected');
    });

});

http.listen(3000, function () {
    console.log('listening on *:3000');
});

Mattepuffo's logo
Introduzione a Socket.io

Introduzione a Socket.io

Socket.io è un framework per Node.js per la costruzione di applicazioni realtime.

Il suo uso di base non è molto difficile, ed è tutto in linea con il modo di programmare di Node.js.

Oggi vediamo un'introduzione.

Iniziamo con il creare il progetto:

$ mkdir TestSocket
$ cd TestSocket
$ npm init