Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>For debugging, you might want to try out <a href="https://github.com/adobe-research/theseus"><strong>Theseus</strong></a>.</p> <p>Here is a short overview of the <a href="https://github.com/LearnBoost/socket.io-spec"><strong>socket.io SPEC</strong></a>:</p> <blockquote> <p>Socket.IO aims to bring a WebSocket-like API to many browsers and devices, with some specific features to help with the creation of real-world realtime applications and games.</p> <ul> <li>Multiple transport support (old user agents, mobile browsers, etc).</li> <li>Multiple sockets under the same connection (namespaces).</li> <li>Disconnection detection through heartbeats.</li> <li>Optional acknoledgments.</li> <li>Reconnection support with buffering (ideal for mobile devices or bad networks)</li> <li>Lightweight protocol that sits on top of HTTP.</li> </ul> <h3>Anatomy of a Socket.IO socket</h3> <p>A Socket.IO client first decides on a transport to utilize to connect.</p> <p>The state of the Socket.IO socket can be <code>disconnected</code>, <code>disconnecting</code>, <code>connected</code> and <code>connecting</code>.</p> <p>The transport connection can be <code>closed</code>, <code>closing</code>, <code>open</code>, and <code>opening</code>.</p> <p>A simple HTTP handshake takes place at the beginning of a Socket.IO connection. The handshake, if successful, results in the client receiving:</p> <ul> <li>A session id that will be given for the transport to open connections.</li> <li>A number of seconds within which a heartbeat is expected (<code>heartbeat timeout</code>)</li> <li>A number of seconds after the transport connection is closed when the socket is considered disconnected if the transport connection is not reopened (<code>close timeout</code>).</li> </ul> <p>At this point the socket is considered connected, and the transport is signaled to open the connection.</p> <p>If the transport connection is closed, both ends are to buffer messages and then frame them appropriately for them to be sent as a batch when the connection resumes.</p> <p>If the connection is not resumed within the negotiated timeout the socket is considered disconnected. At this point the client might decide to reconnect the socket, which implies a new handshake.</p> </blockquote> <p>If you need more of the details, you can read the rest of the specification <a href="https://github.com/LearnBoost/socket.io-spec">here</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload