首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionScript 3 XMLSocket的策略文件出现问题

ActionScript 3 XMLSocket的策略文件出现问题
EN

Stack Overflow用户
提问于 2010-09-27 20:29:16
回答 2查看 722关注 0票数 0

我们已经用.NET开发了一个定制的服务器来托管我们网站的一些基本聊天/即时通信功能,客户端是使用XMLSocket用Flex (AS3)编写的。

现在我们有两台服务器,一台专门用于发送策略文件,另一台处理IM/聊天功能。

问题是,我们可以看到客户端正在连接,发送了策略文件,但是Flash忽略了策略文件,并再次向我们的聊天/即时消息服务器请求它。

策略文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>

策略服务器:

代码语言:javascript
复制
Server.LogMessage("Policy Server: Serving policy file.");
            TcpListener listener = (TcpListener)ar.AsyncState;
            Socket client = listener.EndAcceptSocket(ar);
            NetworkStream ns = new NetworkStream(client);
            StreamReader sr = new StreamReader(ns);
            StreamWriter sw = new StreamWriter(ns);

            sr.Read();
            //Send policy
            sw.Write(Server.EncodeString(Server.xmlPolicyFile.OuterXml) + "\0");
            sw.Flush();
            ns.Flush();
            //Cleanup
            sw.Close();
            sr.Close();
            ns.Close();
            //Do it again!
            tcl.BeginAcceptSocket(AcceptCallback, tcl);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-28 21:48:12

跨域策略仅适用于其所在的服务器...您不能让服务器为另一台服务器提供策略...什么能阻止恶棍为你的机器创建策略并窃取你的数据。

您需要从正确的服务器提供策略。

票数 0
EN

Stack Overflow用户

发布于 2010-12-07 18:49:12

谢谢Gergor,但我的意思是我们打开了一个专门发送策略文件的服务器和一个处理实际连接的服务器(两者都在同一台机器上)。

问题是您需要立即发送策略文件,而不需要在策略服务器上执行任何其他操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3803738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档