Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка пинга [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
DeepVarvar Супермодератор
Отправлено: 17 Января, 2013 - 00:42:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




kappa пишет:
может get_headers()
Нет, не угадали опять Закатив глазки
Дело в том, что для корректного измерения пинга необходимо посылать ICMP-пакеты, и это более низкий уровень, чем http-протокол.
Ответ дали в самом начале - НЕВОЗМОЖНО.
Однако!
Есть вариант выдавать по возможности максимально приближенные результаты.
Я такого не делал, но чутка погуглил, и думаю что сделать можно.
Но сперва надо попробовать, так-что ничего не обещаю.
 
 Top
LIME
Отправлено: 17 Января, 2013 - 00:53:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а почему нельзя сделать большой цикл head запросов ajax и так получим средний отклик?
я ничего глупого не предложил?
 
 Top
esterio
Отправлено: 18 Января, 2013 - 14:06:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




LIME
AJAX можно отправить только на свой домен, есть правда JSONP но ето не то
 
 Top
Vaio
Отправлено: 23 Января, 2013 - 22:01:45
Post Id


Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.         var r = 4;
  2.         var pingResult = 1000;
  3.     var ip = 23;
  4.  
  5.         function StartPing1() {
  6.                 window.startTime=new Date();
  7.                 var imgSrc='http://' + ip + '/ping.gif'+'?cacheBuster='+Math.random();
  8.                 document.getElementById('myPingTest').src=imgSrc;
  9.         }
  10.  
  11.         function EndPing1() {
  12.  
  13.                 var endTime=new Date();
  14.  
  15.  
  16.                 if(r > 1) {
  17.                         var ping = endTime.getMilliseconds()-window.startTime.getMilliseconds()-6;
  18.                         if((ping > 0) && (ping < pingResult)) pingResult = ping;
  19.                         r = r-1;
  20.                         StartPing();
  21.                 } else {
  22.             $.jGrowl('<b style="color:#50b517;">Ваш пинг до сервера / ' + pingResult + ' ms', { life:3000 });
  23.                 }
  24.                
  25.  
  26.         }
  27.  
  28.         function ResetPing1() {
  29.                 r = 4;
  30.                 pingResult = 1000;
  31.         }

Нашел вот такую ​​реализацию на js. В самом js не очень разбираюсь, подскажите будет ли такое работать или возможно как-то оптимизировать.

Вызывается так
CODE (html):
скопировать код в буфер обмена
  1. <a href="javascript:void(0)" class="date-box2" onclick="ResetPing(); ip = '72.10.169.28'; StartPing();">Проверить пинг</a>
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB