【发布时间】:2011-11-29 20:39:24
【问题描述】:
对不起,我的英语不好。
我有以下问题:
我有一个 .fla 文件,它适用于 Socket 类。有一个服务器(用Delphi XE写的,但没关系)。我从我的 .fla 连接到它。 当我从 Flash Professional CS5 中执行我的 .fla 时,一切正常。但是当我尝试从资源管理器(Win 7,Flash Player 10)执行生成的 .swf 时,我收到了一个错误:
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()
Socket 连接服务器如下:
Sock.connect('127.0.0.1', 5243);
我尝试将“文件->发布设置”中的“本地播放安全”设置更改为“仅访问网络”。
好的。 Flash 播放器启动时没有错误,但它会向服务器发送以下消息:
<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>
之后,socket(843) 关闭。 但是第二个监听套接字得到了相同的消息:。
在这一切之后,我的 .swf 仍然在 Flash Player 中打开,没有任何错误,但套接字连接没有发生。 我尝试了不同的跨域文件,但我所有的尝试都导致了相同的结果。
这就是我遇到的问题。我期待着你的帮助。谢谢。
【问题讨论】:
标签: actionscript-3 cross-domain flash-cs5 flash