Задать вопрос
@Newbeenew

Как сделать ping на js на стороне клиента?

Привет всем, гуглится только способ с node.js со стороны сервера. И возможно ли это в принципе на чистом js?
  • Вопрос задан
  • 4846 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Ping это отправка icmp запроса ну или tcp браузер этого не умеет. Его можно научить если это ie и вы напишете activex. Однако есть выход. Первый если сайт который вы пингуете содержит общедоступный апи. Второй это создание в доме картинки нацеленной на этот сайт и подписка на событие завершения загрузки.
Ответ написан
Комментировать
@Rerurk
Отправте запрос, посчитайте через сколько времени придет ответ
Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
const ping = async () => {
  let start = Date.now();

  try {
    await fetch("http://192.168.0.2:8080");
  }
  catch(err) {}

  return (Date.now() - start);
};


await ping();

Важно понимать, что результат еще зависит от объема передаваемой информации. По этому лучше пинговать несуществующий ресурс, либо с минимальными данными. А лучше получить ошибку запроса, отправить левые заголовки, например левый origin.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы