LocalConnection передавая по значению или по ссылке? - PullRequest
0 голосов
/ 08 апреля 2011

При использовании LocalConnection, в котором два SWF-компонента общаются друг с другом.Объекты передаются по значению или по ссылке?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2011

Данные, переданные через объект LocalConnection, сериализуются отправителем в файл, а затем получатель десериализует его, что означает, что он создает новый объект.

Протокол сериализации, как мне кажется, используется AMF (если вы сопоставите свой класс с помощью registerClassAlias, ваши объекты будут получены с тем же типом, который вы передали; если вы этого не сделаете, вы Object объекты). 1005 *

Итак, в получающем SWF вы получите свежую копию вашего объекта. Также имейте в виду, что если вы отображаете свои классы, у вас должен быть конструктор без параметров или конструктор, который принимает только необязательные параметры; в противном случае ваши объекты будут выдавать ошибку, когда получающая сторона десериализует их.

1 голос
/ 09 апреля 2011

Прежде всего связь между swf должна передаваться по значению (фактический параметр полностью оценивается, а результирующее значение копируется в место, используемое для хранения значения формального параметра), а не по ссылке. Передача по ссылке нарушит песочницу, в которой находится каждый SWF. (поскольку локальное соединение может использоваться между несколькими SWF-файлами).

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

...