Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   HTTP-запрос отправляется с задержкой (http://www.flasher.ru/forum/showthread.php?t=184497)

RigidFlasher 20.09.2012 08:45

HTTP-запрос отправляется с задержкой
 
Пишу следующий код

Код AS3:

var testStr:String = "http://192.168.0.113:3001/?op=begin"
                        +"&mask=" + "11111"
                        +"&srv=" + "1"
                        +"&val=" + "<value>9132171429</value>";
                        var testRequest:URLRequest = new URLRequest(testStr);
                        var testLoader:URLLoader = new URLLoader();
                        testLoader.addEventListener(Event.COMPLETE, testLoad);
                        testLoader.load(testRequest);
                        start = getTimer();
                }
                var start:Number;
 
                private function testLoad(e:Event):void
                {
                        trace(getTimer() - start); // выводит 42080, то есть прошло больше 42 секунд
                }

При этом мне достоверно известно, что компьютер, на который я отправляю запрос, получает его через 42 секунды после отправки (на нем ведутся логи запросов). Кто-нибудь знает, почему такое может быть?

kackbip 20.09.2012 08:50

Вы протрейсили время завершения запроса, а не его отправки. Может большой объем данных грузится?

RigidFlasher 20.09.2012 08:55

В том-то и проблема, что нет. В ответ мне приходит XML размером примерно 100 байт. На сервере, на который я отправляю запрос, ведутся логи. И по ним я вижу, что запрос приходит только через 42 секунды. Если тот же самый запрос отправить не из флэша, а например командой wget, то ответ приходит практически мнгновенно, то есть проблемами со связью данную ситуацию тоже не объяснить.

caseyryan 20.09.2012 09:14

Возможно какой-то фаервол, или антивирус тупит (хотя для локалки в приципе этого быть не должно, но мало ли).
Еще вариант, что флешка не правильно написана, может где-то происходит зацикливание сообщений, хотя и в таком случае обычно после лимита в 15 секунд, установленного для выполнения скрипта по умолчанию, все должно отвалиться. откуда именно 42 секунды не понятно.
Во всяком случае приведенный код никаких проблем не содержит.

А что в обработчике этого запроса на сервере?

п.с. Я бы попробовал упростить все по максимуму для начала. Отправлять какое-нибудь простое значение, не XML и получать такой же простой ответ.
Ну и поменял бы способ запроса на URLVariables

RigidFlasher 20.09.2012 10:22

Цитата:

Возможно какой-то фаервол, или антивирус тупит (хотя для локалки в приципе этого быть не должно, но мало ли).
Вряд ли. Если отправить тот же запрос не из флэша, то ответ приходит практически мнгновенно.
Цитата:

Еще вариант, что флешка не правильно написана.
Вынес в отдельный проект только этот запрос, и все равно результат такой же.

Может ли подобная проблема возникать из-за политик безопасности flash? Например, надо в allowDomain добавить адреса, на которые уходит запрос?

Krusty 20.09.2012 12:01

Политика безопасности тут не при чем, так как дебаг версия плеера их игнорирует все.
Вообще - странно. Я бы подумал на сервер, но у вас wget отрабатывает мгновенно.
На 3001 кто висит, апач? Есть возможность все это делать не в локалке?

RigidFlasher 20.09.2012 12:05

Цитата:

На 3001 кто висит, апач?
Нет. Я пишу платежную систему и на 3001 висит программа на C++, которая управляет железом терминала.

Krusty 20.09.2012 13:28

вешайте на любой порт nginx или апач, пусть отдаст заглушку в флеш. Если быстро отдаст-то это ваша программа на C++.

RigidFlasher 25.09.2012 06:29

С сервером все в полном порядке. Только что попробовал тот же самый код, что и в первом сообщении, написать не во FlashDevelop, а во FlashProfessional в кадре. Ответ приход через 0.036 секунд. Может, у FD есть какая-то настройка, которая касается HTTP-запросов и может привести в такой проблеме?

caseyryan 25.09.2012 10:02

Нет, таких настроек нет. Но можно, как вариант, снести папку настроек http://www.flashdevelop.org/wikidocs...=Configuration

Установить другой флеш плеер, версию flex sdk (если установлена не последняя) и пересоздать проект, скопировав в него из старого только as файлы, ну и пакеты, естественно.


Часовой пояс GMT +4, время: 12:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.