title: socket.volatile.emit from client side
body: <p>I am developing a simple application, with a node.js server, and an HTML5 client in browser. At the moment, I am using <code>socket.io</code> for the communication, because it seems to me that it should work in most cases: proxies, firewalls, etc. On the other hand, I find hard to now precisely what is going on, as a lot of things are automated, and as I did not find a comprehensive documentation. One other important point is that I am new to the Javascript/Node.js world.</p>
  
  <p>In this particular question, I am trying to achieve a tight synchronisation between clients and a server, following an SNTP-like scheme. Therefore, I would like to drop any delayed packet. The <code>volatile</code> flag should allow me to do this, and I use it on to emit messages from the server, but it does not seem valid from the client side. Is it by design? Because I am using the stand-alone version on the client (no <code>require</code> or <code>browserify</code> here)?</p>
  
  <p>index.html</p>
  
  <pre><code>&lt;html&gt;
      &lt;body onload="init()"&gt;
          &lt;script src="/socket.io/socket.io.js"&gt;&lt;/script&gt;
          &lt;script src="calibration.js"&gt;&lt;/script&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>calibration.js</p>
  
  <pre><code>var socket = io.connect();
  function init() {
     socket.emit('test', 'ok');
     socket.volatile.emit('test-volatile', 'bad');
  }
  </code></pre>
  
  <p>console log on page load</p>
  
  <blockquote>
    <p>socket.volatile is undefined</p>
  </blockquote>
  
  <p>Is <code>volatile</code> pointless from the client side anyway? If not, is there a way to use it? Any pointer to documentation would be appreciated. At the moment, I am considering <code>engine.io</code> or <code>ws</code> <code>node.js</code> packages...</p>