title: What techniques are available to do P2P in the browser?
body: <p>What options does a web developer currently have for implementing client-side peer-to-peer systems in the web browser? Some hypothetical examples might be a file-sharing service that bypasses the web-server after clients find eachother, or a chat service.</p>
  
  <h3>What I know about:</h3>
  
  <ul>
  <li><p>the site chatroulette uses
  some flash technology as discussed
  <a href="https://stackoverflow.com/questions/2643291/architecture-of-chatroulette">here</a>.</p></li>
  <li><p>And I am also aware of <a href="http://www.opera.com/press/releases/2009/06/16/" rel="nofollow noreferrer">Opera
  Unity</a> which extends the browser
  model to encompass both a client and
  a server, as well as this firefox <a href="https://addons.mozilla.org/en-US/firefox/addon/pow-plain-old-webserver/" rel="nofollow noreferrer">plugin</a> which works similarly</p></li>
  <li><p>I also just came across <a href="http://www.nonblocking.io/2008/12/universalcomet-making-every-client.html" rel="nofollow noreferrer">this blog
  post</a> related to the Joose js
  framework, but am not yet sure if it
  is relevant here.</p></li>
  <li><p>Support for this <em>kind of thing</em> seems like it might or might not be supported by websockets in  HTML5 and has been discussed <a href="https://stackoverflow.com/questions/2628565/html5-vs-flash-full-comparison-chart-anywhere">here</a> and <a href="https://stackoverflow.com/questions/1032006/will-html5-allow-web-apps-to-make-peer-to-peer-http-connections">here</a> and <a href="https://stackoverflow.com/questions/4118272/do-websockets-allow-for-p2p-browser-to-browser-communication">here</a>.</p></li>
  </ul>