Serveur et client Websocket en ruby et client javascript

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) !