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 http://blog.escarworld.com/public/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 http://blog.escarworld.com/public/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 http://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) !