Skip to content
This repository has been archived by the owner on Feb 18, 2021. It is now read-only.

Latest commit

 

History

History
27 lines (17 loc) · 1.16 KB

http.md

File metadata and controls

27 lines (17 loc) · 1.16 KB

HTTP Transport

DRAFT

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.

Timeout

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.

Path JSON

Example path JSON:

{
    "url": "https://192.168.0.36:42424",
    "type": "http"
}