I use it on 2 purposes:
– make browser client refresh some ressources when there are a change: a news section for example.
– alert when there are simultaneous change of a ressource: a change on a planning (http://www.katagena.com/setagaya/demo.php)
I have 2 projects using this technology:
– a dashboard with live status from different server: uptime values will refresh live
– a magento extension with live update
Recently, I was blocked by a strange bug: “This socket.io server do not support websocket protocol. Terminating connection…”
As my server is just installed, I though it was a version issue but it was easier:
ElephantIO Client has a function to check the server, function named handshake. This function will check http://yourserver:yourport/socket.io/1/ and expect a response like “at9Huwk8khVAa5-flPVZ:60:60:websocket,htmlfile,xhr-polling,jsonp-polling”. It shows the list of supported protocol: websocket is present.
So I check the url use by the library and I had “http://yourserver:yourport//socket.io/1/”, with an extra slash. The result page is quite different and show only “Welcome to socket.io.”. That’s why I got the error: not because server didn’t support websocket but just because url was wrong.
At the end, your code should be:
$elephant = new ElephantIOClient('http://yourserver:yourport', 'socket.io');
$elephant = new ElephantIOClient('http://yourserver:yourport/', 'socket.io');