Question

I wonder how to connect two clients over the internet without opening ports on the server side. If this is impossible, how does e.g. Skype establish a connection between the talking people? (Speech goes directly to the clients)

Is there a way to use a "master server" where both clients connect to and then getting a direct connection together?

Thanks for every answer.

Was it helpful?

Solution

Skype uses the concept of Supernodes, that relay communications on behalf of two clients. The Skype user directory is decentralized and distributed among the supernodes in the network.

The Supernodes try to make both ends to negotiate directly the connection, but if it's not possible due to firewalls, NAT, etc they relay the traffic on behalf of two or more clients.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top