Broadcasting messages with WebSocketsTesting with mocha and Chai

Le support pour les websockets est bon, mais pas dans les vieux navigateurs comme < IE10. → canisuse.com/#search=websockets

→ socket.io : module avec son propre serveur et client → fallback de websockets vers long polling quand websockets non supportées.

→ npm install socket.io –save

var express = require("express");
var http = require("http");
var app = express();
var server = http.createServer(app).listen(3000); // on créé un serveur http basé sur l'app express
var io = require("socket.io")(server); // on envoie au constructeur avec en paramètre le server créé avant

app.use(express.static("./public"));

io.on("connection", function(socket) {

  socket.on("chat", function(message) {
    socket.broadcast.emit("message", message),
  });

  socket.emit("message", "welcome to the chat");
});

console.log("starting socket App - http://localhost:3000");

→ npm install socket.io-client –save

var socket = io("http://localhost:3000");

socket.on("disconnect", function() {
  setTitle("Disconnected");
});

socket.on("connect", function() {
  setTitle("Connected to the chat");
});

socket.on("message", function(message) {
  printMessage(message);
});
(...)