The WebSocket bidirectional high speed communication now is cross-browser compatible.
From jWebSocket v0.8 all the main browsers support communication via the new WebSocket ws:// protocol.
As of 2010-06-23, Google Chrome 4.0.429+,
Safari 5 and Firefox from 3.7a6 natively support
WebSockets. Almost all other or older browser versions support Flash by
simply installing the
Adobe Flash Player
plug-in once. This plug-in is used and approved by thousands of websites. Please
refer to our Browsers page to see which browsers already
have been tested successfully.
The FlashBridge is seamlessly integrated into the jWebSocket Client in jWebSocket.js and is totally transparent to your application. If your favorite browser supports WebSockets natively one day, the FlashBridge will be automatically turned off and replaced by the browser implementation - without any effect to your application. In your application you do not need to make any browser specific provisions other than just embedding one single JavaScript file.
Important! To support the jWebSocket FlashBridge you need to open port 843 on your server side firewall or router to process the so called <policy-file-request>. The FlashBridge uses this port for security reasons to check for cross-domain-access. If port 843 is not reachable the FlashBridge provides a fallback to the requested WebSocket port within 3 secondes. jWebSocket supports this Flash feature.
Important!
You cannot run the FlashBridge on the file protocol but on
http protocol on a web server listening on port 80 only.
If you use Tomcat to host your web applications we recommend to either configure
Tomcat to listen on port 80 or to use Apache as front end server together with
mod_proxy
or
mod_jk
as bridge to Tomcat.
The jWebSocket Server includes a plug-in now that processes this request. Anyway, neither your own server plug-ins nor your client plug-ins are affected by this, it's completely transparent.
Special thanks to Hiroshi
Ichikawa
, Tokyo, Japan who provided
gimite/web-socket-js
- HTML5 Web Socket implementation powered by Flash.