从flex连接到Socket时出现安全沙箱冲突

时间:2010-05-12 07:02:59

标签: flex actionscript-3 sockets

我在flex应用程序和推送消息的服务器之间使用Socket(而不是xmlSocket)连接。

现在,当我从本地计算机连接到服务器时,一切正常运行,连接成功,我来回获取数据。

当我将应用程序(flex)上传到服务器并从那里运行时,我收到一个安全sandBox违规消息。

注意: 1.我在端口和域上都有一个带*通配符的跨域文件。 2.我也创建了一个Securiy.allowDomain(“*”)。

另一件事。 我还在同一台服务器上创建了另一个监听器,监听端口843的连接(默认),这个服务只是等待连接发送策略文件到客户端,就是这样。

这也没有解决问题......

那是下一个? 我该怎么做才能解决问题?

感谢您的帮助。

阿维

3 个答案:

答案 0 :(得分:1)

此问题的修复程序是一个专用的策略文件服务器。 我实现了一个侦听专用端口的套接字,其中flex正在寻找策略文件,一旦我得到一个连接,我就用适当的策略文件回复了一个请求。

这解决了所有用户的问题,并且对我来说非常好。

由于

答案 1 :(得分:0)

你尝试Security.loadPolicyFile了吗?您的服务器端口是否实际上843接收策略文件请求(这是一个微小的XML发送请求跨域策略文件)?您的实际服务器是否曾收到策略文件请求?你在服务器上获得了什么流量?

格尔茨
back2dos

答案 2 :(得分:0)

    .NET
    Add crossdomain.xml to your Web server root directory, for example, 
C:\inetpub\wwwroot.

    Java
    Add crossdomain.xml to \ArcGIS\java\web_output, for example, 
C:\Program Files\ArcGIS\java\web_output. 

http://resources.esri.com/help/9.3/arcgisserver/apis/flex/help/content/deploy_application.htm