title: How does socket.io send messages across multiple servers?
body: <p>The <a href="http://socket.io/" rel="nofollow">Socket.io</a> API has the ability to send messages to <em>all</em> clients.</p>
  
  <p>With one server and all sockets in memory, I understand how that server one can send a message to all its clients, that's pretty obvious. But what about with multiple servers using <a href="http://redis.io/" rel="nofollow">Redis</a> to store the sockets? </p>
  
  <p>If I have client <strong>a</strong> connected to server <strong>y</strong> and client <strong>b</strong> connected to server <strong>z</strong> (and a Redis box for the store) and I do <code>socket.broadcast.emit</code> on one server, the client on the other server will receive this message. How?</p>
  
  <p>How do the clients that are <em>actually connected</em> to the other server get that message? </p>
  
  <ul>
  <li>Is one server <em>telling the other server</em> to send a message to its connected client?</li>
  <li>Is the server establishing its own connection to the client to send that message?</li>
  </ul>