Извините за мой плохой английский.
У меня следующая проблема:
У меня есть файл .fla, который работает с классом Socket.Есть сервер (написан на Delphi XE, но это не важно).Я подключаюсь к нему из моего .fla.Когда я выполняю свой .fla из Flash Professional CS5, все работает нормально.Но когда я попытался выполнить полученный .swf из Проводника (Win 7, Flash Player 10), я получил ошибку:
SecurityError: Error #2010: Local-with-filesystem SWF files are not
permitted to use sockets. at flash.net::Socket/internalConnect() at
flash.net::Socket/connect() at payterminal::TLogger() at
payterminal::TMainTerminalClass() at
testterminal_fla::MainTimeline/frame1()
Сокет подключается к серверу следующим образом:
Sock.connect ('127.0.0.1', 5243);
Я попытался изменить настройку "Безопасность локального воспроизведения" в "Файл-> Настройки публикации" на "Только доступ к сети.
ОК. Flash Player запускается без ошибок, но отправляет на сервер следующее сообщение:
<policy-file-request/>
После закрытия этого сокета.
Я также пытался использовать метод Security.AllowDomain(), но это не дало никаких положительных результатов.
Был другой метод, который я попробовал. У сервера есть два сокета прослушивания. Первое прослушивание на порту 843. Когда этот сокет получает сообщение policy-file-requestон отправляет в .swf файл междомена, например:
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <!-- Policy
file for xmlsocket://socks.mysite.com --> <cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
После этого сокет (843) закрывается, но второй прослушивающий сокет получает то же сообщение:.
После всего этогомой .swf все еще открыт во Flash Player безошибки, но подключение к сокету не происходит.Я пробовал разные кросс-доменные файлы, но все мои попытки привели меня к одному и тому же результату.
Вот проблема, которая у меня есть.Я с нетерпением жду вашей помощи.Спасибо.