Some browsers and networks still cause problems when using WebSockets, hence pusher-js provides fallback mechanisms allowing realtime connectivity in almost any circumstances.
Flash has had socket support for many years, and it is possible to emulate native WebSocket API proxying via a Flash object. This support is provided by the excellent web-socket-js library.
pusher.js for browsers without native WebSockets.
In previous versions of the pusher.js file (below 1.5), you had to host the SWF file yourself. This is no longer necessary.
Most browsers have a limit of 6 simultaneous connections to a single domain, but Internet Explorer 6 and 7 have a limit of just 2. This means that you can only use a single Channels connection in these browsers, because SockJS requires an HTTP connection for incoming data and another one for sending. Opening the second connection will break the first one as the client won’t be able to respond to ping messages and get disconnected eventually.
All other browsers work fine with two or three connections.