Запрос на php файл из Flash зависает в Safari - PullRequest
10 голосов
/ 06 февраля 2010

Последние два дня мы несколько часов обсуждали эту проблему, чтобы выяснить, что происходит, и мы не можем найти никаких подсказок. Вот что происходит; У нас есть приложение Flash, которое позволяет людям размещать заказы. Пользователи настраивают продукт, и изображение этого продукта генерируется Flash на лету и представляется пользователю. Если все устраивает, они могут отправить заказ на сервер. Массив байтов изображения и некоторые другие переменные отправляются на сервер, который обрабатывает заказ и генерирует PDF-файл со сводкой заказа и изображения продукта. Затем скрипт заказа отправляет все обратно в браузер.

Все идет хорошо, кроме Safari на OSX 10.4. Иногда заказ приходит, но Safari в большинстве случаев зависает. При просмотре окна «Активность» в Safari указывается, что он ожидает сценария заказа и что это «0 байтов?». Мы подумали, что с сервером что-то не так, поэтому попробовали несколько других серверов, но проблема сохраняется. Изначально мы использовали простую публикацию для обработки заказа, но, пытаясь решить эту проблему, мы прибегли к более сложным методам, таким как удаленное взаимодействие с Flash через AMFPHP. Это тоже не решило проблему.

Мы используем Чарльза для отслеживания трафика http, чтобы выяснить, покидают ли браузер запросы вообще, но странно то, что когда Чарльз работает, мы не можем воспроизвести проблему.

Я надеюсь, что кто-то знает, что происходит, потому что мы не можем понять это.

1 Ответ

1 голос
/ 07 февраля 2010

просто дикое предположение:

Возвращает ли PDF обратно результат 1 http-запроса, который отправляет все необходимые данные на сервер и в результате получает PDF-файл? В противном случае это может быть проблемой синхронизации. Вы уверены, что все данные доступны на сервере в тот момент, когда запрашивается pdf? Количество разрешенных параллельных подключений к веб-сайту не одинаково для всех марок / версий браузеров, и, возможно, это может повлиять на вероятность возникновения «столкновения».

Простой тест: введите задержку между отправкой данных на сервер и получением файла PDF и посмотрите, как это повлияет.

...