Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here on Stackoverflow are several topics about P2P connections in browsers:</p> <ol> <li><a href="https://stackoverflow.com/questions/1032006/will-html5-allow-web-apps-to-make-peer-to-peer-http-connections">Will HTML5 allow web apps to make peer-to-peer HTTP connections?</a></li> <li><a href="https://stackoverflow.com/questions/4807685/what-techniques-are-available-to-do-p2p-in-the-browser">What techniques are available to do P2P in the browser?</a></li> <li><a href="https://stackoverflow.com/questions/4181645/does-html5-support-peer-to-peer-and-not-just-websockets">Does HTML5 Support Peer-to-Peer (and not just WebSockets)</a></li> <li><a href="https://stackoverflow.com/questions/4277351/can-html5-websockets-connect-2-clients-browsers-directly-without-using-a-serve">Can HTML5 Websockets connect 2 clients (browsers) directly without using a server (P2P)</a></li> <li><a href="https://stackoverflow.com/questions/4628125/is-it-possible-to-create-peer-to-peer-connections-in-a-web-browser">Is it possible to create peer-to-peer connections in a web browser?</a></li> <li><a href="https://stackoverflow.com/questions/4118272/do-websockets-allow-for-p2p-browser-to-browser-communication">Do websockets allow for p2p (browser to browser) communication?</a></li> <li><a href="https://stackoverflow.com/questions/2845174/html-5-peer-to-peer-video-possibilities">HTML 5 Peer to Peer Video Possibilities?</a></li> <li><a href="https://stackoverflow.com/questions/6993042/is-webrtc-implemented-in-any-browsers-yet">Is WebRTC implemented in any browsers yet?</a></li> </ol> <p>As mentioned in most of the topicts, both 2008 HTML5 working drafts were having a section "Peer-to-peer connections":</p> <ul> <li><a href="http://www.w3.org/TR/2008/WD-html5-20080122/#peer-to-peer" rel="noreferrer">http://www.w3.org/TR/2008/WD-html5-20080122/#peer-to-peer</a></li> <li><a href="http://www.w3.org/TR/2008/WD-html5-20080610/comms.html#peer-to-peer" rel="noreferrer">http://www.w3.org/TR/2008/WD-html5-20080610/comms.html#peer-to-peer</a> </li> </ul> <p>Since the <a href="http://www.w3.org/TR/2009/WD-html5-20090212/" rel="noreferrer">W3C Working Draft 12 February 2009</a> the section "Peer-to-peer connections" disappeared. But this P2P connection is not gone. It's back under the name PeerConnection within the WebRTC (Real-Time Communications) specifications:</p> <ul> <li><a href="http://dev.w3.org/2011/webrtc/editor/webrtc.html#peerconnection" rel="noreferrer">http://dev.w3.org/2011/webrtc/editor/webrtc.html#peerconnection</a> (W3C Editor's Draft)</li> <li><a href="http://www.whatwg.org/specs/web-apps/current-work/webrtc.html#peerconnection" rel="noreferrer">http://www.whatwg.org/specs/web-apps/current-work/webrtc.html#peerconnection</a> (<a href="http://blog.whatwg.org/weekly-encoding-woes" rel="noreferrer">Since 5th December 2011 forwarded to W3C Editor's Draft</a>)</li> </ul> <p>Since 31 October 2011, the W3C Editor's Draft is an official Working draft:</p> <ul> <li><a href="http://www.w3.org/TR/2011/WD-webrtc-20111027/#peerconnection" rel="noreferrer">http://www.w3.org/TR/2011/WD-webrtc-20111027/#peerconnection</a></li> </ul> <p>The only implementation of the PeerConnection (UDP based) exists in the modified WebKit by the Ericsson labs (May 2011), which is working quite well. Some patches are in WebKit now (Oct. 2011 -- see updates below!):</p> <ul> <li><a href="https://labs.ericsson.com/apis/web-real-time-communication/" rel="noreferrer">https://labs.ericsson.com/apis/web-real-time-communication/</a></li> <li><a href="https://labs.ericsson.com/developer-community/blog/update-webkit-contributions" rel="noreferrer">https://labs.ericsson.com/developer-community/blog/update-webkit-contributions</a></li> </ul> <p>Additionally, the WebRTC initiative is a project by Google, Mozilla and Opera. Thus, they are continuing the specification on PeerConnection:</p> <ul> <li><a href="http://www.webrtc.org/" rel="noreferrer">http://www.webrtc.org/</a></li> </ul> <p>Probably Chrome (uses WebKit) will be the first major browser supporting WebRTC with PeerConnection:</p> <ul> <li><a href="http://www.webrtc.org/blog/firststeptowardchromeintegration" rel="noreferrer">http://www.webrtc.org/blog/firststeptowardchromeintegration</a></li> <li><a href="http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/95bf1e2e1de852fc" rel="noreferrer">http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/95bf1e2e1de852fc</a></li> <li><a href="https://lists.webkit.org/pipermail/webkit-dev/2011-November/018445.html" rel="noreferrer">https://lists.webkit.org/pipermail/webkit-dev/2011-November/018445.html</a></li> </ul> <p>Since 18th January 2012, <a href="http://www.webrtc.org/blog/webrtcnowavailableinthechromedevchannel" rel="noreferrer">Chrome is supporting WebRTC as well</a>. It can be uses in the <a href="http://www.chromium.org/getting-involved/dev-channel" rel="noreferrer">Dev channel (Windows, OSX, Linux) and the Canary build (Windows and OSX)</a> by <a href="http://www.webrtc.org/blog/webrtccannowbeenabledinchromeflags" rel="noreferrer">enabling it under <code>chrome://flags</code></a>. It only only supports <code>MediaStream</code> like Video and audio and can be tested with several <a href="http://www.webrtc.org/running-the-demos#TOC-Demos" rel="noreferrer">Demos</a>. Transferring application data like <code>String</code>/<code>ArrayBuffer</code>/... is not supported until now.</p> <p>Since <a href="http://dev.w3.org/2011/webrtc/editor/webrtc-20120316.html" rel="noreferrer">16th March 2012, the WebRTC Editor's Draft</a> separates a <a href="http://dev.w3.org/2011/webrtc/editor/webrtc-20120316.html#peer-to-peer-data-api" rel="noreferrer">"Peer-to-peer Data API"</a> to send and receive generic application data (<code>String</code>, <code>ArrayBuffer</code> and <code>Blob</code>). <a href="http://blog.chromium.org/2012/04/chromes-webrtc-roadmap.html" rel="noreferrer">Chromium wants to implement the Data API soon</a> (10th April 2012).</p> <p>On April, 3rd, Mozilla published a first working example on <a href="https://hacks.mozilla.org/2012/04/webrtc-efforts-underway-at-mozilla/" rel="noreferrer">WebRTC for Firefox</a> as well.</p> <p>DataChannel is planned for version 25 of Chrome, behind a flag, meanwhile it can be tested in Firefox Nightly/Aurora (12th December 2012):</p> <ul> <li><a href="http://updates.html5rocks.com/2012/12/WebRTC-hits-Firefox-Android-and-iOS" rel="noreferrer">http://updates.html5rocks.com/2012/12/WebRTC-hits-Firefox-Android-and-iOS</a></li> </ul> <p>2018: DataChannels are still experimental, but available in current versions of Chrome and Firefox:</p> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel" rel="noreferrer">https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel</a></li> </ul>
 

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