Client Installation
Compatibility
Socket.IO does support IE9 and above. IE 6/7/8 are not supported anymore.
Browser compatibility is tested thanks to the awesome Sauce Labs platform:
Release notes
The release notes of each version can be found in GitHub.
Installation
Standalone build
By default, the Socket.IO server exposes a client bundle at /socket.io/socket.io.js
.
io
will be registered as a global variable:
<script src="/socket.io/socket.io.js"></script>
<script>
const socket = io();
</script>
If you don’t need this (see other options below), you can disable the functionality on the server side:
const io = require('socket.io')({
serveClient: false
});
From a CDN
You can also include the client bundle from a CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
Socket.IO is also available from other CDN like jsDelivr and unpkg.
There are several bundles available:
Name | Size | Description |
---|---|---|
socket.io.js | 19.8 kB min+gzip | Production version, with debug |
socket.io.slim.js | 15.6 kB min+gzip | Production version, without debug |
socket.io.dev.js | 38.5 kB gzip | Unminified version, with debug |
The debug package allows to print debug information to the console. You can find more information here.
During development, we recommend to use the socket.io.dev.js
bundle. By setting localStorage.debug = 'socket.io-client:socket'
, any event received by the client will be printed to the console.
For production, please use the socket.io.slim.js
bundle, which is an optimized build excluding the debug package.
From NPM
The Socket.IO client is compatible with bundlers like webpack or browserify.
$ npm install socket.io-client
The client can also be run from Node.js.
Note: for the reasons cited above, you may want to exclude debug from your browser bundle. With webpack, you can use webpack-remove-debug.