В Mate, Отправка двух или более запросов на сервер одновременно? - PullRequest
1 голос
/ 29 сентября 2010

Я использую RemoteObjectInvoker от Mate для вызова методов в моем API на основе FluorineFX. Однако все запросы, похоже, отправляются на сервер поочередно. То есть, если я отправляю группу сообщений одновременно, второе не отправляется, пока не вернется первое. Есть ли способ изменить это поведение? Я не хочу, чтобы мое приложение не отвечало на запросы во время обработки длинного запроса.

1 Ответ

1 голос
/ 30 сентября 2010

Этот поток поможет вам понять, что происходит (в нем говорится о блазидах / livecylce, но я предполагаю, что фтор использует тот же подход).В нескольких словах происходит следующее: a) Flash Player группирует все ваши звонки в один HTTP-пост.b) Сервер (BlazeDs, Fluorine и т. д.) получает запрос и начинает выполнять методы последовательно, один за другим.

Решения

a) Для каждого метода требуется одна запись HTTP вместо однойСообщение HTTP, содержащее все сообщения AMF.Для этого вы можете использовать HTTPChannel вместо AMFChannels (внутренне он использует flash.net.URLLoader вместо flash.net.NetConnection).Вы будете ограничены максимальным числом параллельных подключений, определенным вашим браузером.

b) Имейте только одну запись HTTP, но внедрите умное решение на сервере (это будет стоить вам много времени разработки).По сути, вы можете написать свой собственный параллельный процессор и использовать потребителей / издателей сообщений для отправки результатов ваших методов клиенту.

c) Существует обходной путь, аналогичный a) для https://bugs.adobe.com/jira/browse/BLZ-184- создайте свой удаленный объект вручную и добавьте случайный идентификатор в конце конечной точки.

...