Packet Loss Test

WebRTC

WebRTC to najnowocześniejsza technologia (na rok 2019), która umożliwia działanie tej strony. Składa się z kilku interfejsów API JavaScript w WebIDL, które zapewniają komunikację w czasie rzeczywistym. Jak to wszystko działa z serwerem STUN i kandydatami ICE jest dość skomplikowane, ale w zasadzie używa magii, aby wymyślić sposób na szybką komunikację w obie strony.

Prawdziwym powodem, dla którego WebRTC jest ważny dla tej strony, jest to, że jest to pierwszy i jedyny sposób, aby przeglądarka komunikowała się w niewiarygodny sposób bez jakiegoś (prawdopodobnie powolnego i niezabezpieczonego) pluginu. Wszędzie indziej przeglądarka używa TCP, który, gdy pakiet się nie powiedzie, będzie go wysyłał ponownie, aż zadziała lub się podda. Zazwyczaj jest to bardzo dobre, ponieważ byłoby źle, gdyby losowe akapity lub część kodu nie załadowały się i nigdy nie dowiedziałbyś się, że czegoś brakuje. Jednak to sprawiło, że w zasadzie niemożliwe jest przetestowanie straty pakietów swojego połączenia. Jeśli twój komputer po prostu próbował, dopóki nie zadziałał, nigdy nie byłoby żadnych utraconych pakietów. Teraz z WebRTC, mogę powiedzieć mu, aby po prostu wysłać pakiety w teście raz i nigdy nie próbować ich ponownie. Wtedy mogę po prostu zobaczyć, które z nich są brakujące.

Dziękuję również Google za darmowy serwer STUN, którego używam do nawiązywania połączeń.