我在flex应用程序和推送消息的服务器之间使用Socket(而不是xmlSocket)连接。
现在,当我从本地计算机连接到服务器时,一切正常运行,连接成功,我来回获取数据。
当我将应用程序(flex)上传到服务器并从那里运行时,我收到一个安全sandBox违规消息。
注意: 1.我在端口和域上都有一个带*通配符的跨域文件。 2.我也创建了一个Securiy.allowDomain(“*”)。
另一件事。 我还在同一台服务器上创建了另一个监听器,监听端口843的连接(默认),这个服务只是等待连接发送策略文件到客户端,就是这样。
这也没有解决问题......
那是下一个? 我该怎么做才能解决问题?
感谢您的帮助。
阿维
答案 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