Signaling is not addressed by WebRTC (even if we do have JSEP as a starting point), but from what I understand, it works that way :
- client tells the server it's available at X
- server holds that information and maps it to an identifier
- other client comes and sends an identifier to get connection information from the first client
- other client uses it to create it's one connection information and sends it to the server
- server sends this to first client
- both client can now talk
This is all nice and well, but what happends if a 3rd client arrives ?
You have to redo the whole things. Which suppose the first two clients are STILL connected to the server, waiting for a 3rd client to signal itself, and start the exchanging process again so they can get the 3rd client connection information.
So does it mean you are required to have to sort of permanent link to the server for each client (long polling, websocket, etc) ? If yes, is there a way to do that efficiently ?
Cause I don't see the point of having webRTC if I have to setup nodejs or tornado and make it scales to the number of my users. It doesn't sound very p2pish to me.
Please tell me I missed something.