Отправьте большие массивы байтов между AppDomains в том же процессе

«Как поделиться изображением с этим ANE? Я использую Animate CC?»

blockquote>

Из «Read Me» этого ANE: [1110 ]

Как использовать:

  • Подключите файл com.illuzor.extensions.SharingExtension.ane к своему проекту Android AIR.
  • Импорт com.illuzor.sharingextension.SharingExtension;
blockquote>

Поскольку неясно, в чем именно заключается ваша проблема (потому что недостаточно информации предоставлено) ... [1112 ]

(1) Вы импортировали требуемые файлы классов?

import com.illuzor.sharingextension.SharingExtension; 


btn_Share.addEventListener (MouseEvent.CLICK, shareAndroid); 


function shareAndroid (event: MouseEvent): void 
{
    //# If this works then replace with bitmap code (use shareImage)
    SharingExtension.shareText ("AS3 Test", "This text is from AS3 code"); 

}

(2) Вы добавили (подключили) ANE к своему проекту (в настройках)? [1114 ]

Прочтите это для получения совета по добавлению ANE:
https://www.adobe.com/devnet/air/articles/using-ane-in-flash.html

9
задан 4 May 2009 в 03:19
поделиться

4 ответа

Двоичное удаленное TCP-соединение, безусловно, быстро, я не знаю, насколько оно быстрее, чем необработанные сокеты, что, вероятно, самая быстрая, но королевская PIA.

Я выполнил 1500-2000 запросов в секунду в производственном процессе, используя двоичное HTTP-удаленное взаимодействие между двумя модулями. В том же окне вы должны иметь высокую производительность при использовании TCP или канала именных каналов, в зависимости от циклов ЦП, необходимых для обработки данных.

1
ответ дан 5 December 2019 в 01:19
поделиться

Если бы я был вами, я бы посмотрел, как реализован Кассини . Он в точности соответствует тому, о чем вы говорите.

На самом деле Cassini был вытеснен Webhost, который является встроенным веб-сервером, который теперь поставляется с Visual Studio. Взгляните на этот пост в блоге Фила Хаака для получения дополнительной информации.

1
ответ дан 5 December 2019 в 01:19
поделиться

Очень хороший вопрос. Если бы я столкнулся с этой проблемой, я бы, вероятно, использовал бы Буферизованный поток / Поток памяти и перенаправил поток в домен приложений, который потребляет объект, чтобы уменьшить маршалинг или сериализацию многих графов объектов, созданных в другом домене приложений.

Но, опять же, похоже, что вы почти полностью дублируете функциональность IIS, поэтому я бы посмотрел / отразил в пространстве имен System.Web.Hosting и увидел, как они справляются с этим, их WorkerThreadPool и т. Д ....

1
ответ дан 5 December 2019 в 01:19
поделиться

6. Может быть, есть способ собрать фактическое подключение к сокету?

6-й вариант IMO - лучший вариант. Socket с точки зрения процесса - это просто ручка. Домены приложений находятся в одном процессе. Это означает, что домены приложений могут обмениваться дескрипторами сокетов.

Если маршалинг сокетов не работает, вы можете попробовать воссоздать сокет в другом домене приложений. Для этого вы можете использовать DuplicateAndClose .

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

1
ответ дан 5 December 2019 в 01:19
поделиться