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); }); (...)