Any endpoint may support a http
path to maximize connectivity. This is specifically useful when running inside a browser, or when an app needs to operate inside a highly restricted network that offers only HTTP/HTTPS.
This path is implemented using socket.io (which handles all of the fallback and reconnect logic), and the only information needed to be exchanged is a url
that can be http://
or https://
.
The socket.io
interface is a minimal "msg" event being generated by either side, with it's argument being a single binary string of the packet that is always cloaked (for both HTTP and HTTPS).
By default all packets should be sent as volatile
events, but handshakes may be sent as non-volatile and/or ask for an ack.
A new keepalive handshake may be automatically triggered when no packets have been sent for 60 seconds as an extra validation that the socket.io connection is valid.
Example path JSON:
{
"url": "https://192.168.0.36:42424",
"type": "http"
}