【问题标题】:Security sandbox violation when connecting to Socket from flex从 flex 连接到 Socket 时违反安全沙箱
【发布时间】:2011-02-18 11:38:34
【问题描述】:

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

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

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

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

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

那也没有解决问题...

接下来呢? 我应该怎么做才能解决这个问题?

感谢您的帮助。

视频

【问题讨论】:

  • 提供策略文件的侦听器是否在某些 Linux 发行版上运行,那么您可能必须以“管理员”身份运行它,因为端口是
  • 在 windows 2008 机器上运行,服务器也运行 IIS7,上面有几个应用程序。

标签: apache-flex actionscript-3 sockets


【解决方案1】:

解决此问题的方法是使用专用策略文件服务服务器。 我实现了一个套接字,监听 flex 正在寻找策略文件的专用端口,一旦我得到一个连接和一个请求,我就会用适当的策略文件回复。

这解决了所有用户的问题,对我来说效果很好。

谢谢

【讨论】:

    【解决方案2】:

    你试过Security.loadPolicyFile吗?您的服务器在端口 843 上是否真的接收过策略文件请求(这是一个发送来请求跨域策略文件的微小 XML)?您的实际服务器是否曾经收到策略文件请求?您的服务器上的流量是多少?

    问候
    back2dos

    【讨论】:

    • 我确实收到了请求并以适当的响应进行响应。我从我的 IIS 执行 loadPolicyFile,它加载文件正常但没有帮助。
    【解决方案3】:
        .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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多