WebRTC
WebRTC est la technologie de pointe (à partir de 2019) qui rend ce site possible. Il comprend plusieurs API JavaScript dans WebIDL qui permettent des communications en temps réel. La façon dont tout cela fonctionne avec le serveur STUN et les candidats à l'ICE est assez compliquée, mais fondamentalement, cela utilise la magie pour trouver un moyen de communiquer rapidement dans les deux sens.
La vraie raison pour laquelle le WebRTC est important pour ce site est que c'est la première et la seule façon pour un navigateur de communiquer d'une manière peu fiable sans un plugin (probablement lent et non sécurisé). Voyez, partout ailleurs, votre navigateur utilise TCP, qui, lorsqu'un paquet échoue, continuera à le renvoyer jusqu'à ce qu'il fonctionne ou qu'il abandonne. C'est généralement très bon parce qu'il serait mauvais si des paragraphes aléatoires ou une partie d'un code n'arrivaient pas à se charger et que vous n'avez même jamais découvert qu'il manquait quelque chose. Cependant, cela rendait fondamentalement impossible de tester la perte de paquets de sa connexion. Si votre ordinateur continuait d'essayer jusqu'à ce que ça marche, il n'y aurait jamais de paquets perdus. Maintenant avec WebRTC, je peux lui dire d'envoyer les paquets une seule fois dans le test et de ne jamais les réessayer. Alors je peux juste voir ceux qui manquent.
Aussi, merci à Google pour son serveur STUN gratuit que j'utilise pour m'aider à établir des connexions.