1.6 KiB
Socket.IO Client Configuration
As of 2015-10-25, the legacy /sioconfig
JavaScript for retrieving connection
information is being deprecated in favor of a new API. The purpose of this
change is to allow partitioning channels across multiple servers in order to
better handle increasing traffic.
To get the socket.io configuration for the server hosting a particular channel,
make a GET
request to /socketconfig/<channel name>.json
. The response will
be a JSON object containing a list of acceptable servers to connect to, or an
error message.
Examples:
GET /socketconfig/test.json
200 OK
{
"servers": [
{
"url": "https://localhost:8443",
"secure": true
},
{
"url": "http://localhost:1337",
"secure": false
},
{
"url": "https://local6:8443",
"secure": true,
"ipv6": true
},
{
"url": "http://local6:1337",
"secure": false,
"ipv6": true
}
]
}
GET /socketconfig/$invalid$.json
404 Not Found
{
"error": "Channel \"$invalid$\" does not exist."
}
Each entry in the servers
array has "secure":true
if the connection is
secured with TLS, otherwise it it is false. An entry with "ipv6":true
indicates that the server is listening on the IPv6 protocol.
You can pick any URL to connect socket.io to in order to join the specified
channel. I recommend picking one with "secure":true
, only choosing an
insecure connection if implementing a TLS connection is infeasible.