#php #actionscript-3 #flash #zend-framework #zend-amf
#php #actionscript-3 #flash #zend-framework #zend-amf
Вопрос:
Я внедряю сервисные методы AMF для интерфейса flash. Обычно все работает нормально, но мы обнаружили, что если два метода вызываются один за другим, второй вызов возвращает null интерфейсу flash, даже если метод фактически успешно завершается на стороне PHP (чтобы убедиться в этом, я сбрасываю возвращаемые данные в файл непосредственно перед их возвратом).
У кого-нибудь раньше было такое поведение? Это какая-то настройка в ZendAMF?
Ответ №1:
Может быть, дождаться подтверждения того, что первый метод был завершен, прежде чем вызывать второй?
Ответ №2:
Я тоже использую ZendAMF. Я заметил, что если один вызов завершается неудачей, это вызовет сообщение об ошибке для любых других пакетных вызовов (для обхода этого можно использовать асинхронные токены).
Я бы попробовал отправлять каждый вызов по одному и выяснять, какой из них завершается сбоем, если он есть. Лично я использую программное обеспечение под названием Charles, которое является и HttpProxy, которое позволяет мне видеть содержимое и сообщения об ошибках любых вызовов AMF, которые я выполняю. Вы также могли бы использовать wireshark, в любом случае вы смогли бы увидеть точный отправленный запрос и любые сообщения об ошибках, которые выдает ваш сервер.
Используете ли вы какие-либо транзакции в своем коде (например, Doctrine ), иногда код проходит тестирование и записывается правильно, но прерывается при закрытии транзакции и в конечном итоге выдает ошибку.
Ответ №3:
На самом деле оказывается, что сторона flash использовала одно и то же соединение для двух вызовов функций. Создание отдельных подключений для каждого вызова решило проблему.