我在PHP Web应用程序中嵌入了一个SWF文件。所有本地和我的系统。我想从我的SWF到localhost:4242(这是一个眼动仪api)进行套接字连接。当我使用Flash播放器运行SWF时,一切正常。但是当我从浏览器运行它时,我得到了:
Security Error: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Security sandbox violation: http://localhost/graph/assets/swf/Graph.swf cannot load data from http://localhost:4242."]
我将crossdomain.xml添加到我的本地Web服务器(easy php),如下所示:
<?xml version="1.0" ?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
这是我的套接字连接动作脚本:
socket = new Socket();
Security.allowDomain("*");
Security.allowInsecureDomain("*");
Security.loadPolicyFile("http://localhost/crossdomain.xml");
socket.addEventListener(Event.CONNECT, onSocketConnect);
socket.addEventListener(Event.CLOSE, onClose);
socket.addEventListener(IOErrorEvent.IO_ERROR, onError);
socket.addEventListener(ProgressEvent.SOCKET_DATA, onResponse);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecError);
socket.connect("http://localhost", 4242);
我浏览了网上的所有内容以解决此问题。我不知道问题是什么,我应该怎么做。