Тест Latency / Ping из браузера

Я хочу проверить ping из браузера на сервер.

Ping / Latency не должен быть от сервера, а от клиентской машины.

Я видел такие сайты, как Pingtest.net, поэтому это можно сделать из браузера.

Любой язык будет делать.

Пинг сервера также может быть протестирован с помощью пакета UDP, отличного от обычного ping команды оболочки.

Как я должен действовать. ?

Попробуйте использовать XMLHTTPRequest () для javascript. Цель состоит в том, чтобы сделать около 10 объектов и поместить их в массив. Затем используйте onreadystatechange в каждом из них. Для функции внутри него используйте состояние 1, чтобы запустить таймер и состояние 3, чтобы закончить таймер. Используйте объект Date (), чтобы получить время.

В этом вся идея решения этого. если вам нужно больше просто прокомментировать мой ответ, и я постараюсь сделать его более полным и «спойлером».


Предполагая, что вы знаете, как программировать в javascript, это одна из идей для возможного решения: сначала создайте массив, в который вы будете вставлять в каждую позицию экземпляр XMLHTTPRequest (). Затем вы создадите функцию, которая возвращает функцию, где:
Внешняя функция сохранит некоторую идентификацию в направлении «текущего» запроса, включая ссылку на экземпляр. Эта функция должна быть выполнена сразу.
Предполагается, что внутренняя функция используется для выполнения состояния и знает, когда «запускать» таймер и когда «останавливать» таймер. Позаботьтесь об открытии соединения и отправке заголовков ко всем «em», подождите, чтобы получить ответ и, наконец, зарегистрировать время, которое вы получили. Сделайте некоторую математику, и вы получите пинг.

В этом вся идея. Удачи!

 <script type="text/javascript"> try { netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); } catch (e) { alert("Permission UniversalBrowserRead denied."); } var req = new XMLHttpRequest(); req.open('GET', 'http://www.mozilla.org/', false);. req.send(); if(req.status == 200) { alert(req.responseText); }