title: How does WebRTC work?
body: <p>I'm interested in Peer-to-Peer connections in the browser. Since this seems to be possible with WebRTC, I'm wondering how it works exaclty.</p>
  
  <p>I've read some explanations and saw diagrams about it and now it's clear to me, that the connection establishmet works over the server. The server seems to exchange some data between the client that are willing to connect to each other, so that they can start a direct connection, that is independent of the server.</p>
  
  <p>But that's exaclty what I don't understand. Until now, I thought the only way to create connections is to listen on a port on computer A and connect to that port from computer B. But this does not seem to be the case in WebRTC. I think none of the clients starts to listen on a port. Somehow, they can create a connection without listening on ports and accepting connections. Neither client A, nor client B starts acting as a server.</p>
  
  <p>But how? What data is exchanged over the WebRTC server, that the clients can use to connect to each other?</p>
  
  <p>Thanks for your explanations for this :)</p>
  
  <p><strong>Edit</strong></p>
  
  <p>I found <a href="http://www.h-online.com/security/features/How-Skype-Co-get-round-firewalls-747197.html" rel="noreferrer">this</a> article. It's not related to WebRTC, but I think it answers a part of my question. I'm not sure, tough. It still would be cool, if someone could explain it to me and give me some additional links.</p>