Flex socket RemoteObject 安全沙箱冲突

kojie_chen 2009-07-17 04:42:34
security error :Error #2048: 安全沙箱冲突:http://localhost:8400/blazeds/RemoteClient-debug/RemoteClient.swf 不能从 127.0.0.1:80 加载数据。
我的flex与c++服务器通过socket传递数据,而后,服务器发送数据给flex ,flex使用Remote来调用java就出现了上面的问题,已连接就出现这个问题,都不能成功,请高手帮忙。
注:在没加入Remote的时候可以传递数据,进行通信,加上了之后就出现沙箱的安全问题。
...全文
1093 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
diytz 2009-12-22
  • 打赏
  • 举报
回复
可以看看这里,有专门的安全沙箱的说明:http://www.diytz.cn/flex_as3_research/flash-security-sandbox-type.html

http://www.diytz.cn/flex_as3_research/flash-security-sandbox-type.html
kojie_chen 2009-07-21
  • 打赏
  • 举报
回复
发送后,flex端怎么处理接收来的数据
assin 2009-07-21
  • 打赏
  • 举报
回复
楼主要发送 4楼朋友 那样的 东西 一个crossdomain的XML内容
kojie_chen 2009-07-20
  • 打赏
  • 举报
回复
你的是java,我的服务器端是c写的,而且,当客户端socket连接的时候我就发送了policy,但是就是不知道flex端怎么去接收我已经发送的这个policy,接收后怎么处理
pretty10807512090 2009-07-20
  • 打赏
  • 举报
回复
在server端收到client端的链接以后,server必须在第一时间将类似于下边的内容返回给flex socket客户端:
string head = System.Text.UTF8Encoding.UTF8.GetString(buffer);
// Console.WriteLine(head);
if (!string.IsNullOrEmpty(head) && head.Contains("<policy-file-request/>"))
{
string xml = "<?xml version=\"1.0\"?>";
xml = xml + " <!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">";
xml = xml + " <!-- Policy file for xmlsocket://127.0.0.1 --> ";
xml = xml + "<cross-domain-policy>";
xml = xml + "<allow-access-from domain=\"*\" to-ports=\"*\" />";
xml = xml + "</cross-domain-policy>";
this.skt.Send(System.Text.UTF8Encoding.UTF8.GetBytes(xml + "\0"));
continue;
}/**/
pretty10807512090 2009-07-20
  • 打赏
  • 举报
回复
在server端收到client端的链接以后,server必须在第一时间将类似于下边的内容返回给flex socket客户端:
string head = System.Text.UTF8Encoding.UTF8.GetString(buffer);
// Console.WriteLine(head);
if (!string.IsNullOrEmpty(head) && head.Contains("<policy-file-request/>"))
{
string xml = "<?xml version=\"1.0\"?>";
xml = xml + " <!DOCTYPE cross-domain-policy SYSTEM \"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd\">";
xml = xml + " <!-- Policy file for xmlsocket://127.0.0.1 --> ";
xml = xml + "<cross-domain-policy>";
xml = xml + "<allow-access-from domain=\"*\" to-ports=\"*\" />";
xml = xml + "</cross-domain-policy>";
this.skt.Send(System.Text.UTF8Encoding.UTF8.GetBytes(xml + "\0"));
continue;
}/**/
kojie_chen 2009-07-17
  • 打赏
  • 举报
回复
这是我建立客户端后,马上在服务器端收到的消息:received 22 byte:
<policy-file-request/>
我把policy发过去,但是还是提示沙箱错误,到底是为什么呢?
kojie_chen 2009-07-17
  • 打赏
  • 举报
回复
Flex提示的错误就是:

错误: 拒绝请求位于 xmlsocket://127.0.0.1:80 的资源(请求者从 http://localhost:8400/blazeds/RemoteClient-debug/RemoteClient.swf 发出请求),原因是缺乏策略文件权限。

*** 安全沙箱冲突 ***
到 127.0.0.1:80 的连接已停止 - 不允许从 http://localhost:8400/blazeds/RemoteClient-debug/RemoteClient.swf 进行连接

怎样解决这个问题呢?
kojie_chen 2009-07-17
  • 打赏
  • 举报
回复

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧