Как узнать имя подключения LocalConnection? - PullRequest
0 голосов
/ 28 февраля 2009

Я занимаюсь разработкой приложения Adobe Air, которое должно использовать SWF-файл с использованием LocalConnection.

Я никогда раньше не использовал LocalConnection, но, как я понял из онлайн-справки, мне нужно указать одно и то же имя соединения как для отправителя, так и для получателя.

Поскольку у меня нет доступа к исходному коду этого компонента, как я могу узнать, какое имя соединения я должен использовать?

У меня есть доступ к некоторым файлам JavaScript, использующим тот же SWF, но, поскольку у меня нет опыта работы с JavaScript, я не знаю, с чего начать. Могу я что-нибудь выяснить оттуда?

... или я что-то упустил?

1 Ответ

2 голосов
/ 28 февраля 2009

Нет способа запросить из ActionScript, что такое connectionName. Причина в том, что это откроет множество дыр в безопасности. Если это упомянуто в документации SWF, с которой вы хотите поговорить - проверьте это.

Весь бизнес LocalConnection, хотя и не сложный, осложняется тем, что документация, по меньшей мере, нестабильна. И очень, очень запутанный. Вы должны прочитать это очень внимательно, прежде чем пытаться что-либо сделать. Я сжег там свои пальцы.

Сначала проверьте это:

  • Приложение AIR на другом компьютере, чем SWF? В противном случае вам не повезло. Потому что:

    Объекты LocalConnection могут взаимодействовать только между файлами, запущенными на одном клиентском компьютере [...]

  • Есть ли у SWF объект LocalConnection? Если нет, вам не повезло.

  • Ваше приложение AIR (при условии, что оно вызывается и вызывается какой-то метод X в SWF) также должно иметь объект LocalConnection. И для подключения к SWF ему придется позвонить connect().
  • Лучше всего использовать последний подход, упомянутый в документации (что также является наиболее общим), т.е. Различные домены с непредсказуемыми доменными именами . Кроме того, для начала разрешите любой домен, поэтому используйте: allowDomain(*);
  • Если другой SWF-файл также является приложением AIR, вам необходимо добавить идентификатор приложения к имени подключения.

Теперь, сделайте свой лучший выстрел и дайте нам знать, где вы застряли. Желаем удачи!

...