打印

[AS3] 关于完全沙箱冲突的问题

刚接触AS不久,需要完成一个功能,即使用flash socket连接ircd服务器,实现在线人数统计的功能,结果遇到了安全沙箱冲突的问题,具体描述如下:

ircd服务器online.a.com,服务于80端口,在ircd之上封装了一层http的层,用来解析http请求,as中用socket来模拟http请求online.a.com:80,并处理返回的结果。程序在flex builder中测试运行正确,能正确得到返回的结果。然后将flex builder生成的swf文件online.swf放到另一台前端服务器web.a.com上,web.a.com上的online.html来包含这个online.swf文件,浏览器访问http://web.a.com/online.html,flash player报错,错误信息: Error #2044: 未处理的 SecurityErrorEvent:。 text=Error #2048: 安全沙箱冲突:http://web.a.com/online.swf 不能从 online.a.com:80 加载数据。at online()

online.html内容如下:

 提示:您可以先修改部分代码再运行
在网上查了一下,提到flash player9的新版本在policy file上有所变化,于是在online.a.com上安装了一个apache,绑定oneline.a.com的843端口,根下有一个crossdomain.xml文件,内容如下:

 提示:您可以先修改部分代码再运行
重新编译swf文件,结果同样如上所述,不知道哪位高手能给解释一下,要怎么正确使用策略文件呢
我的问题好像跟你差不多
有crossdomain文件。在硬盘直接打开swf文件就可以联通。但是插到网页就不行。
我用的是 Security.loadPolicyFile('http://10.1.45.137/crossdomain.xml');

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!