W3C home > Mailing lists > Public > public-html-commits@w3.org > February 2013

CVS html5/websockets

From: CVS User ihickson <cvsmail@w3.org>
Date: Thu, 07 Feb 2013 19:54:08 +0000
Message-Id: <E1U3XXs-0004rN-TM@roscoe.w3.org>
To: public-html-commits@w3.org
Update of /sources/public/html5/websockets
In directory roscoe:/tmp/cvs-serv18679

Modified Files:
	Overview.html 
Log Message:
Cleanup (whatwg r7704)

--- /sources/public/html5/websockets/Overview.html	2013/02/06 21:05:24	1.290
+++ /sources/public/html5/websockets/Overview.html	2013/02/07 19:54:08	1.291
@@ -216,7 +216,7 @@
 
    <h1>The WebSocket API</h1>
    
-   <h2 class="no-num no-toc" id="editor-s-draft-6-february-2013">Editor's Draft 6 February 2013</h2>
+   <h2 class="no-num no-toc" id="editor-s-draft-7-february-2013">Editor's Draft 7 February 2013</h2>
    <dl><dt>Latest Published Version:</dt>
     <dd><a href="http://www.w3.org/TR/websockets/">http://www.w3.org/TR/websockets/</a></dd>
     <dt>Latest Editor's Draft:</dt>
@@ -350,7 +350,7 @@
   </dl><p>The W3C <a href="http://www.w3.org/2008/webapps/">Web Applications
   Working Group</a> is the W3C working group responsible for this
   specification's progress along the W3C Recommendation track.
-  This specification is the 6 February 2013 Editor's Draft.
+  This specification is the 7 February 2013 Editor's Draft.
   </p>
 
 
@@ -533,118 +533,98 @@
   void <a href="#dom-websocket-send" title="dom-WebSocket-send">send</a>(<span>ArrayBufferView</span> data);
 };</pre>
 
-  <p>The <dfn id="dom-websocket" title="dom-WebSocket"><code>WebSocket(<var title="">url</var>, <var title="">protocols</var>)</code></dfn>
-  constructor takes one or two arguments. The first argument, <var title="">url</var>, specifies the <span>URL</span> to which to
-  connect. The second, <var title="">protocols</var>, if present, is
-  either a string or an array of strings. If it is a string, it is
-  equivalent to an array consisting of just that string; if it is
-  omitted, it is equivalent to the empty array. Each string in the
-  array is a subprotocol name. The connection will only be established
-  if the server reports that it has selected one of these
-  subprotocols. The subprotocol names must all be strings that match
-  the requirements for elements that comprise the value of <code title="http-sec-websocket-protocol">Sec-WebSocket-Protocol</code>
-  header fields as defined by the WebSocket protocol specification. <a href="#refsWSP">[WSP]</a></p>
-
-  <p>When the <code>WebSocket()</code> constructor is invoked, the UA
-  must run these steps:</p>
-
-  <ol><li><p><i><a href="#parse-a-websocket-url-s-components">Parse a WebSocket URL's components</a></i> from the <var title="">url</var> argument, to obtain <var title="">host</var>,
-   <var title="">port</var>, <var title="">resource name</var>, and
-   <var title="">secure</var>. If this fails, throw a
-   <code>SyntaxError</code> exception and abort these steps. <a href="#refsWSP">[WSP]</a></li>
-
-   <li><p>If <var title="">secure</var> is false but the
-   <span>origin</span> of the <span>entry script</span> has a scheme
-   component that is itself a secure protocol, e.g. HTTPS, then throw
-   a <code>SecurityError</code> exception.</li>
+  <p>The <dfn id="dom-websocket" title="dom-WebSocket"><code>WebSocket(<var title="">url</var>, <var title="">protocols</var>)</code></dfn> constructor takes one or two arguments. The first argument,
+  <var title="">url</var>, specifies the <span>URL</span> to which to connect. The second, <var title="">protocols</var>, if present, is either a string or an array of strings. If it is a
+  string, it is equivalent to an array consisting of just that string; if it is omitted, it is
+  equivalent to the empty array. Each string in the array is a subprotocol name. The connection will
+  only be established if the server reports that it has selected one of these subprotocols. The
+  subprotocol names must all be strings that match the requirements for elements that comprise the
+  value of <code title="http-sec-websocket-protocol">Sec-WebSocket-Protocol</code> header fields as
+  defined by the WebSocket protocol specification. <a href="#refsWSP">[WSP]</a></p>
+
+  <p>When the <code>WebSocket()</code> constructor is invoked, the UA must run these steps:</p>
+
+  <ol><li><p><i><a href="#parse-a-websocket-url-s-components">Parse a WebSocket URL's components</a></i> from the <var title="">url</var> argument, to
+   obtain <var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, and
+   <var title="">secure</var>. If this fails, throw a <code>SyntaxError</code> exception and abort
+   these steps. <a href="#refsWSP">[WSP]</a></li>
+
+   <li><p>If <var title="">secure</var> is false but the <span>origin</span> of the <span>entry
+   script</span> has a scheme component that is itself a secure protocol, e.g. HTTPS, then throw a
+   <code>SecurityError</code> exception.</li>
 
    <li>
 
-    <p>If <var title="">port</var> is a port to which the user agent
-    is configured to block access, then throw a
-    <code>SecurityError</code> exception. (User agents typically block
-    access to well-known ports like SMTP.)</p>
-
+    <p>If <var title="">port</var> is a port to which the user agent is configured to block access,
+    then throw a <code>SecurityError</code> exception. (User agents typically block access to
+    well-known ports like SMTP.)</p>
     
 
-    <p>Access to ports 80 and 443 should not be blocked, including the
-    unlikely cases when <var title="">secure</var> is false but <var title="">port</var> is 443 or <var title="">secure</var> is true
-    but <var title="">port</var> is 80.</p>
+    <p>Access to ports 80 and 443 should not be blocked, including the unlikely cases when <var title="">secure</var> is false but <var title="">port</var> is 443 or <var title="">secure</var>
+    is true but <var title="">port</var> is 80.</p>
     
 
    </li>
 
    <li>
 
-    <p>If <var title="">protocols</var> is absent, let <var title="">protocols</var> be an empty array.</p>
+    <p>If <var title="">protocols</var> is absent, let <var title="">protocols</var> be an empty
+    array.</p>
 
-    <p>Otherwise, if <var title="">protocols</var> is present and a
-    string, let <var title="">protocols</var> instead be an array
-    consisting of just that string.</p>
+    <p>Otherwise, if <var title="">protocols</var> is present and a string, let <var title="">protocols</var> instead be an array consisting of just that string.</p>
 
    </li>
 
-   <li><p>If any of the values in <var title="">protocols</var> occur
-   more than once or otherwise fail to match the requirements for
-   elements that comprise the value of <code title="http-sec-websocket-protocol">Sec-WebSocket-Protocol</code>
-   header fields as defined by the WebSocket protocol specification,
-   then throw a <code>SyntaxError</code> exception and abort these
+   <li><p>If any of the values in <var title="">protocols</var> occur more than once or otherwise
+   fail to match the requirements for elements that comprise the value of <code title="http-sec-websocket-protocol">Sec-WebSocket-Protocol</code> header fields as defined by the
+   WebSocket protocol specification, then throw a <code>SyntaxError</code> exception and abort these
    steps. <a href="#refsWSP">[WSP]</a></li>
 
-   <li><p>Let <var title="">origin</var> be the <span title="ASCII
-   serialization of an origin">ASCII serialization</span> of the
-   <span>origin</span> of the <span>entry script</span>,
-   <span>converted to ASCII lowercase</span>.</li>
+   <li><p>Let <var title="">origin</var> be the <span title="ASCII serialization of an origin">ASCII
+   serialization</span> of the <span>origin</span> of the <span>entry script</span>, <span>converted
+   to ASCII lowercase</span>.</li>
 
-   <li><p>Return a new <code><a href="#websocket">WebSocket</a></code> object, and continue
-   these steps in the background (without blocking scripts).</li>
+   <li><p>Return a new <code><a href="#websocket">WebSocket</a></code> object, and continue these steps in the background
+   (without blocking scripts).</li>
 
    <li>
 
-    <p><i>Establish a WebSocket connection</i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along
-    with the <var title="">protocols</var> list, an empty list for the
-    extensions, and <var title="">origin</var>. The <i>headers to send
-    appropriate cookies</i> must be a <code title="http-Cookie">Cookie</code> header whose value is the
-    <i>cookie-string</i> computed from the user's cookie store and the
-    URL <var title="">url</var>; for these purposes this is
+    <p><i>Establish a WebSocket connection</i> given the set (<var title="">host</var>, <var title="">port</var>, <var title="">resource name</var>, <var title="">secure</var>), along with
+    the <var title="">protocols</var> list, an empty list for the extensions, and <var title="">origin</var>. The <i>headers to send appropriate cookies</i> must be a <code title="http-Cookie">Cookie</code> header whose value is the <i>cookie-string</i> computed from
+    the user's cookie store and the URL <var title="">url</var>; for these purposes this is
     <em>not</em> a "non-HTTP" API. <a href="#refsWSP">[WSP]</a> <a href="#refsCOOKIES">[COOKIES]</a></p>
 
-    <p>When the user agent <i title="validate the server's
-    response">validates the server's response</i> during the
-    "<i>establish a WebSocket connection</i>" algorithm, if the status
-    code received from the server is not 101 (e.g. it is a redirect),
-    the user agent must <i>fail the WebSocket connection</i>.</p>
-
-    <p class="warning">Following HTTP procedures here could introduce
-    serious security problems in a Web browser context. For example,
-    consider a host with a WebSocket server at one path and an open
-    HTTP redirector at another. Suddenly, any script that can be given
-    a particular WebSocket URL can be tricked into communicating to
-    (and potentially sharing secrets with) any host on the Internet,
-    even if the script checks that the URL has the right hostname.</p>
+    <p>When the user agent <i title="validate the server's response">validates the server's
+    response</i> during the "<i>establish a WebSocket connection</i>" algorithm, if the status code
+    received from the server is not 101 (e.g. it is a redirect), the user agent must <i>fail the
+    WebSocket connection</i>.</p>
+
+    <p class="warning">Following HTTP procedures here could introduce serious security problems in a
+    Web browser context. For example, consider a host with a WebSocket server at one path and an
+    open HTTP redirector at another. Suddenly, any script that can be given a particular WebSocket
+    URL can be tricked into communicating to (and potentially sharing secrets with) any host on the
+    Internet, even if the script checks that the URL has the right hostname.</p>
     
 
-    <p class="note">If the <i>establish a WebSocket connection</i>
-    algorithm fails, it triggers the <i>fail the WebSocket
-    connection</i> algorithm, which then invokes the <i>close the
-    WebSocket connection</i> algorithm, which then establishes that
-    <i>the WebSocket connection is closed</i>, which fires the <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as described below</a>.</p>
+    <p class="note">If the <i>establish a WebSocket connection</i> algorithm fails, it triggers the
+    <i>fail the WebSocket connection</i> algorithm, which then invokes the <i>close the WebSocket
+    connection</i> algorithm, which then establishes that <i>the WebSocket connection is closed</i>,
+    which fires the <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as
+    described below</a>.</p>
 
    </li>
 
-  </ol><p>This constructor must be visible when the <span>script's global
-  object</span> is either a <code>Window</code> object or an object
-  implementing the <code>WorkerGlobalScope</code> interface.</p>
-
-  <hr><p>The <dfn id="dom-websocket-url" title="dom-WebSocket-url"><code>url</code></dfn>
-  attribute must return the result of <span title="resolve a
-  url">resolving</span> the <span>URL</span> that was passed to the
-  constructor. (It doesn't matter what it is resolved relative to,
-  since we already know it is an <span>absolute URL</span>.)</p>
-
-  <p>The <dfn id="dom-websocket-readystate" title="dom-WebSocket-readyState"><code>readyState</code></dfn>
-  attribute represents the state of the connection. It can have the
-  following values:</p>
+  </ol><p>This constructor must be visible when the <span>script's global object</span> is either a
+  <code>Window</code> object or an object implementing the <code>WorkerGlobalScope</code>
+  interface.</p>
+
+  <hr><p>The <dfn id="dom-websocket-url" title="dom-WebSocket-url"><code>url</code></dfn> attribute must return the result of
+  <span title="resolve a url">resolving</span> the <span>URL</span> that was passed to the
+  constructor. (It doesn't matter what it is resolved relative to, since we already know it is an
+  <span>absolute URL</span>.)</p>
+
+  <p>The <dfn id="dom-websocket-readystate" title="dom-WebSocket-readyState"><code>readyState</code></dfn> attribute represents
+  the state of the connection. It can have the following values:</p>
 
   <dl><dt><dfn id="dom-websocket-connecting" title="dom-WebSocket-CONNECTING"><code>CONNECTING</code></dfn> (numeric value 0)</dt>
 
@@ -662,112 +642,96 @@
 
    <dd>The connection has been closed or could not be opened.</dd>
 
-  </dl><p>When the object is created its <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> must be set to
-  <code title="dom-WebSocket-CONNECTING"><a href="#dom-websocket-connecting">CONNECTING</a></code> (0).</p>
+  </dl><p>When the object is created its <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> must be
+  set to <code title="dom-WebSocket-CONNECTING"><a href="#dom-websocket-connecting">CONNECTING</a></code> (0).</p>
 
-  <p>The <dfn id="dom-websocket-extensions" title="dom-WebSocket-extensions"><code>extensions</code></dfn>
-  attribute must initially return the empty string. After <i>the
-  WebSocket connection is established</i>, its value might change, as
-  defined below.</p>
-
-  <p class="note">The <code title="dom-WebSocket-extensions"><a href="#dom-websocket-extensions">extensions</a></code> attribute returns
-  the extensions selected by the server, if any. (Currently this will
-  only ever be the empty string.)</p>
-
-  <p>The <dfn id="dom-websocket-protocol" title="dom-WebSocket-protocol"><code>protocol</code></dfn> attribute
-  must initially return the empty string. After <i>the WebSocket
-  connection is established</i>, its value might change, as defined
-  below.</p>
+  <p>The <dfn id="dom-websocket-extensions" title="dom-WebSocket-extensions"><code>extensions</code></dfn> attribute must
+  initially return the empty string. After <i>the WebSocket connection is established</i>, its value
+  might change, as defined below.</p>
+
+  <p class="note">The <code title="dom-WebSocket-extensions"><a href="#dom-websocket-extensions">extensions</a></code> attribute returns the
+  extensions selected by the server, if any. (Currently this will only ever be the empty
+  string.)</p>
+
+  <p>The <dfn id="dom-websocket-protocol" title="dom-WebSocket-protocol"><code>protocol</code></dfn> attribute must initially
+  return the empty string. After <i>the WebSocket connection is established</i>, its value might
+  change, as defined below.</p>
 
   <p class="note">The <code title="dom-WebSocket-protocol"><a href="#dom-websocket-protocol">protocol</a></code> attribute returns the
-  subprotocol selected by the server, if any. It can be used in
-  conjunction with the array form of the constructor's second argument
-  to perform subprotocol negotiation.</p>
-
-  <p>The <dfn id="dom-websocket-close" title="dom-WebSocket-close"><code>close()</code></dfn>
-  method must run the following steps:</p>
+  subprotocol selected by the server, if any. It can be used in conjunction with the array form of
+  the constructor's second argument to perform subprotocol negotiation.</p>
 
+  <p>The <dfn id="dom-websocket-close" title="dom-WebSocket-close"><code>close()</code></dfn> method must run the following
+  steps:</p>
 
-  <ol><li><p>If the method's first argument is present but is neither an
-   integer equal to 1000 nor an integer in the range 3000 to 4999, throw an
-   <code>InvalidAccessError</code> exception and abort these
-   steps.</li>
+  <ol><li><p>If the method's first argument is present but is neither an integer equal to 1000 nor an
+   integer in the range 3000 to 4999, throw an <code>InvalidAccessError</code> exception and abort
+   these steps.</li>
 
    <li>
 
-    <p>If the method's second argument is present, then run these
-    substeps:</p>
+    <p>If the method's second argument is present, then run these substeps:</p>
+
+    <ol><li><p>Let <var title="">raw reason</var> be the method's second argument.</li>
+
+     <li><p>Let <var title="">Unicode reason</var> be the result of <span title="convert a DOMString
+     to a sequence of Unicode characters">converting <var title="">raw reason</var> to a sequence of
+     Unicode characters</span>.</li>
 
-    <ol><li><p>Let <var title="">raw reason</var> be the method's second
-     argument.</li>
+     <li><p>Let <var title="">reason</var> be the result of encoding <var title="">Unicode
+     reason</var> as UTF-8.</li>
 
-     <li><p>Let <var title="">Unicode reason</var> be the result of
-     <span title="convert a DOMString to a sequence of Unicode
-     characters">converting <var title="">raw reason</var> to a
-     sequence of Unicode characters</span>.</li>
-
-     <li><p>Let <var title="">reason</var> be the result of encoding
-     <var title="">Unicode reason</var> as UTF-8.</li>
-
-     <li><p>If <var title="">reason</var> is longer than 123 bytes,
-     then throw a <code>SyntaxError</code> exception and abort these
-     steps. <a href="#refsRFC3629">[RFC3629]</a></li>
+     <li><p>If <var title="">reason</var> is longer than 123 bytes, then throw a
+     <code>SyntaxError</code> exception and abort these steps. <a href="#refsRFC3629">[RFC3629]</a></li>
 
     </ol></li>
 
    <li><p>Run the first matching steps from the following list:</p>
 
-    <dl class="switch"><dt>If the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code>
-     attribute is in the <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2) or <code title="dom-WebSocket-CLOSED"><a href="#dom-websocket-closed">CLOSED</a></code> (3) state</dt>
+    <dl class="switch"><dt>If the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute is in the <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2) or <code title="dom-WebSocket-CLOSED"><a href="#dom-websocket-closed">CLOSED</a></code> (3) state</dt>
 
      <dd>
 
       <p>Do nothing.</p>
 
-      <p class="note">The connection is already closing or is already
-      closed. If it has not already, a <code title="event-socket-close">close</code> event will eventually fire <a href="#closeWebSocket">as described below</a>.</p>
+      <p class="note">The connection is already closing or is already closed. If it has not already,
+      a <code title="event-socket-close">close</code> event will eventually fire <a href="#closeWebSocket">as described below</a>.</p>
 
      </dd>
 
 
-     <dt>If the WebSocket connection is not yet <i title="the
-     WebSocket connection is established">established</i> <a href="#refsWSP">[WSP]</a></dt>
+     <dt>If the WebSocket connection is not yet <i title="the WebSocket connection is
+     established">established</i> <a href="#refsWSP">[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Fail the WebSocket connection</i> and set the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's
-      value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2).
-      <a href="#refsWSP">[WSP]</a></p>
+      <p><i>Fail the WebSocket connection</i> and set the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2). <a href="#refsWSP">[WSP]</a></p>
 
-      <p class="note">The <i>fail the WebSocket connection</i>
-      algorithm invokes the <i>close the WebSocket
-      connection</i> algorithm, which then establishes that 
-      <i>the WebSocket connection is closed</i>, which fires the
-      <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as described below</a>.</p>
+      <p class="note">The <i>fail the WebSocket connection</i> algorithm invokes the <i>close the
+      WebSocket connection</i> algorithm, which then establishes that <i>the WebSocket connection is
+      closed</i>, which fires the <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as described below</a>.</p>
 
      </dd>
 
 
-     <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing handshake is
-     started">started</i> <a href="#refsWSP">[WSP]</a></dt>
+     <dt>If the WebSocket closing handshake has not yet been <i title="the WebSocket closing
+     handshake is started">started</i> <a href="#refsWSP">[WSP]</a></dt>
 
      <dd>
 
-      <p><i>Start the WebSocket closing handshake</i> and set the
-      <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code>
-      attribute's value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2). <a href="#refsWSP">[WSP]</a></p>
-
-      <p>If the first argument is present, then the status
-      code<!--CLOSE CODE--> to use in the WebSocket Close message must
-      be the integer given by the first argument. <a href="#refsWSP">[WSP]</a></p>
-
-      <p>If the second argument is also present, then <var title="">reason</var> must be provided in the Close message
-      after the status code<!--CLOSE CODE-->. <a href="#refsRFC3629">[RFC3629]</a> <a href="#refsWSP">[WSP]</a></p>
-
-      <p class="note">The <i>start the WebSocket closing handshake</i>
-      algorithm eventually invokes the <i>close the WebSocket
-      connection</i> algorithm, which then establishes that <i>the
-      WebSocket connection is closed</i>, which fires the <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as described below</a>.</p>
+      <p><i>Start the WebSocket closing handshake</i> and set the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2). <a href="#refsWSP">[WSP]</a></p>
+
+      <p>If the first argument is present, then the status code<!--CLOSE CODE--> to use in the
+      WebSocket Close message must be the integer given by the first argument. <a href="#refsWSP">[WSP]</a></p>
+
+      <p>If the second argument is also present, then <var title="">reason</var> must be provided in
+      the Close message after the status code<!--CLOSE CODE-->. <a href="#refsRFC3629">[RFC3629]</a>
+      <a href="#refsWSP">[WSP]</a></p>
+
+      <p class="note">The <i>start the WebSocket closing handshake</i> algorithm eventually invokes
+      the <i>close the WebSocket connection</i> algorithm, which then establishes that <i>the
+      WebSocket connection is closed</i>, which fires the <code title="event-socket-close">close</code> event <a href="#closeWebSocket">as described
+      below</a>.</p>
 
      </dd>
 
@@ -776,14 +740,12 @@
 
      <dd>
 
-      <p>Set the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's
-      value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code>
-      (2).</p>
-
-      <p class="note"><i>The WebSocket closing handshake is
-      started</i>, and will eventually invoke the <i>close the
-      WebSocket connection</i> algorithm, which will establish that
-      <i>the WebSocket connection is closed</i>, and thus the <code title="event-socket-close">close</code> event will fire, <a href="#closeWebSocket">as described below</a>.</p>
+      <p>Set the <code title="dom-WebSocket-readyState"><a href="#dom-websocket-readystate">readyState</a></code> attribute's value to <code title="dom-WebSocket-CLOSING"><a href="#dom-websocket-closing">CLOSING</a></code> (2).</p>
+
+      <p class="note"><i>The WebSocket closing handshake is started</i>, and will eventually invoke
+      the <i>close the WebSocket connection</i> algorithm, which will establish that <i>the
+      WebSocket connection is closed</i>, and thus the <code title="event-socket-close">close</code>
+      event will fire, <a href="#closeWebSocket">as described below</a>.</p>
 
      </dd>
 
@@ -1075,78 +1037,67 @@
 
   <h2 id="ping-and-pong-frames"><span class="secno">6 </span>Ping and Pong frames</h2>
 
-  <p>The WebSocket protocol specification defines Ping and Pong frames
-  that can be used for keep-alive, heart-beats, network status
-  probing, latency instrumentation, and so forth. These are not
-  currently exposed in the API.</p>

[143 lines skipped]
Received on Thursday, 7 February 2013 19:54:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 7 February 2013 19:54:11 GMT