![]() |
|
||||||||||
|
|
|
|||||
|
Возник вопрос.. как сделать PING, и получить время доступа к серверу ?
Методом: var req:URLRequest=new URLRequest("http://www.ya.ru"); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.OPEN, startLoad); var time:Number = getTimer(); loader.load(req); function startLoad(e:Event):void { Alert.show("Результат: "+ getTimer()-time); loader.close(); } так как же узнать время доступа к серверу? на http://www.speedtest.net/ как-то сделали ведь... |
|
|||||
|
попробуйте сделать тот же тест, но
1) начинать его не при запуске приложения, а по клику 2) повторять его несколько раз package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; /** * ... * @author gloomyBrain */ public class Main extends Sprite { public var urlLoader:URLLoader; public var urlReq:URLRequest; public var iterator:uint; public var summaryTime:uint; public var startTime:uint; public var endTime:uint; public function Main():void { iterator = 100; summaryTime = 0; urlLoader = new URLLoader(); urlReq = new URLRequest("http://ya.ru"); urlLoader.addEventListener(Event.OPEN, onLoadStart); stage.addEventListener(MouseEvent.CLICK, startTest); } public function startTest(evt:Event):void { testOnce(); } public function testOnce():void { startTime = new Date().getTime(); urlLoader.load(urlReq); } public function onLoadStart(evt:Event):void { iterator--; if(iterator > 0){ urlLoader.close(); endTime = new Date().getTime(); var ping:uint = endTime - startTime; trace(ping); summaryTime += ping; testOnce(); }else { trace("average ping: "+uint(summaryTime/100)); } } } }
__________________
...вселенская грусть |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Не 100%, моё личное ИМХО: событие Event.OPEN отсылается не сразу а на следующий фрейм, отсюда и задержка по времени.
__________________
Отряд Котовскага |
|
|||||
|
Цитата:
Потестировал, в FP9 и FP10 результаты одинаковые А вот если поменять частоту кадров на 120 (вместо 30 по дефолту) - пинг меняется с 32 до 11 к слову, пинг из командной строки у меня выдает 11 То есть, уже близко к истине =)
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 29.10.2009 в 14:13. |
|
|||||
|
gloomyBrain, ну у меня тоже вызывалось по клику, я просто не весь код привел..
да, многоразовый опрос - это вещ. и интересная идея с кадрами и FPS .. надо будет опробовать) отпишусь) |
|
|||||
|
мне кажется яндекс тебе выдает время обработки твоего запроса сервером, без учета времени подключения к нему... для проверки используй firebug...
|
|
|||||
|
поигрался с FPS , непомогло.. при FPS 30 пинг был 180 .. при 120 - около 180 .. поставил снова FPS 30 - пинг стал 8-10 ... при том что виндовый ping ya.ru - 48 выдает..
gloomyBrain, а можешь прислать исходник? dsQuadro, да тут .. непонятно.. и другие сайты тестирую, пинг себя вообще непредсказуемо ведет =( |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:19. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| latency , ping , time |
|
|