Les websockets (protocole : ws) permettent d'avoir une communication en mode connecté avec le serveur (alors que http est déconnecté)
La lib websocket se trouve ici avec les exemples : https://github.com/gimite/web-socket-ruby
Téléchargons-les fichiers :
wget https://blog.escarworld.com/assets/images/rubyws.tar.gz
tar xzvf rubyws.tar.gz
Démarrer le serveur websocket ruby :
ruby websocket/samples/chat_server.rb localhost 10081
Démarrer le client websocket ruby (dans une autre fenetre) :
ruby websocket/samples/stdio_client.rb ws://localhost:10081
Le client et le serveur communique !
Maintenant, télécharger le fichier d'exemple html / js
wget https://blog.escarworld.com/assets/images/htmlws.tar.gz
tar xzvf htmlws.tar.gz
Mettez les fichier html-ws.html et jquery-1.4.4.min.js dans votre apache (par défaut dans /var/www), nginx (par défaut dans /opt/nginx/html ) ou autre serveur web sur localhost (port 80).
Ouvrer firefox ou chrome (assez récent pour intégrer les websockets) à l'adresse https://localhost/html-ws.html
Taper du texte dans le champ edit, le serveur ruby et l'autre client reçoivent le message ! Le serveur pourrait ainsi décider d'accomplir des taches par les clients connectés (calcul partagé).
Les applications des websockets sont nombreuses et intéressantes (La vidéo de parisWeb 2010 sur les websockets est terrible) !