Как определить ближайший сервер для проверки задержки / скорости пинга с помощью Javascript?

Я реализую расширение для браузера, которое должно подключаться к ближайшему серверу, чтобы проверить скорость пинга.

Для получения более подробной информации, пожалуйста, посмотрите на SpeedTest, он сначала рассчитывает время пинга.
И чтобы рассчитать это время пинга, он обнаруживает ближайшие серверы, а затем пингует его.

Например, вот ближайшие серверы, обнаруженные SpeedTest. Я отметил их красными стрелками

SpeedTest обнаружил ближайшие серверы


Как SpeedTest обнаруживает эти серверы?

т.е. как я могу определить ближайшие серверы и их расположение в javascript, как это делает SpeedTest?

1 ответ

Решение

То, что делает speedtest, не является настоящим "пингом" в том смысле, что клиентский компьютер выполняет операцию пинга. Я не знаю их точных методов (и я полагаю, что они используют flash, а не чистый JS, или, по крайней мере, привыкли к этому), но я предполагаю, что они пытаются получить доступ к небольшому ресурсу (пустому текстовому / графическому файлу?) На каждом из этих машин, а затем время ответной реакции. Это, безусловно, один из способов реализовать это в любом случае.

Другие вопросы по тегам