对不起,我的英语不好。打开的SWF文件比套接字
我有以下问题:
我有一个FLA文件,与Socket类的作品。有一台服务器(用Delphi XE编写,但没关系)。我从.fla连接到它。 当我在Flash Professional CS5中执行.fla时,一切正常。但是,当我试图从资源管理器中执行导致瑞士法郎(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播放器启动时没有错误,但它向服务器发送以下信息。:
<policy-file-request/>
后此套接字连接关闭。
我还试图用该方法的Security.allowDomain(),但它并没有取得任何积极成果。
我尝试过另一种方法。该服务器有两个侦听套接字。在端口843当此插口收到邮件策略的文件请求第一次听它发送到.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中仍然是打开的,没有错误,但套接字连接没有发生。 我尝试了不同的crossdomain-files,但是我所有的尝试都让我得到了相同的结果。
这就是我的问题。我期待着你的帮助。谢谢。
作为一个侧面说明,让我补充一点,当服务器发送请求“<策略的文件请求/>”这是要求的crossdomain在那个时候,你需要用crossdomain策略做出回应,正如我用我发布的xml所陈述的那样。之后,客户端套接字将断开连接并且客户端将不得不重新连接到服务器。只有在那个时候你才能通过套接字发送请求。我建议阅读主策略文件是什么。我个人保留crossdomain.xml在我使用的每个端口上。 –