loadPolicyFile 在 AS3 中不起作用

Posted

技术标签:

【中文标题】loadPolicyFile 在 AS3 中不起作用【英文标题】:loadPolicyFile doesnt work in AS3 【发布时间】:2016-04-27 09:48:17 【问题描述】:

(我的英语很差,我尽量做好解释)

我在 AS3 中有一个客户端套接字,在 Java 中有一个服务器。在本地主机中,连接客户端和服务器没有问题。他们可以通过这条线毫无问题地交换数据:

socket.connect("127.0.0.1", 2030);

没关系,我的服务器可以接收一个 Byte[] 数据,可以毫无问题地读写我的客户端。

但现在我想通过服务器“在线”,所以我打开端口 2030 进行连接和 82 端口,我尝试读取 crossdomain.xml 以进行自动化,使用:

Security.loadPolicyFile("http://90.20.233.143:82/crossdomain.xml");
socket.connect("http://90.20.233.143", 2030);

现在当我开始连接时...... Security.loadPolicyFile

出现了一些问题

我正在使用 JAVA 服务器:

java.net.SocketException: Connection reset

在客户端 As3 中(法语):

Connexion au serverur.... Vous etes connecté au serverur

Avertissement :La balise non valide est ignorée pour le domaine 'http://90.20.233.143' dans le fichier de régulation 现在http://90.20.233.143:82/crossdomain.xml

套接字错误:[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="错误 #2031: Erreur de socket。 URL: 90.19.160.185"] // 其原因是 JAVA 上的“连接重置”

我的 crossdomain.xml 中的代码:

 <?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="http://90.20.233.143/" to-ports="*"/>
    <site-control permitted-cross-domain-policies="all" />
</cross-domain-policy>

我不知道问题出在哪里......

【问题讨论】:

你在82端口上监听的服务器,它是socket-based policy server而不是http服务器?我将开始使用在默认端口 843 上运行的 Adob​​e 示例策略服务器来测试您的客户端,如果它加载策略,然后可以打开一个到服务器端口 2030 的套接字以读取/写入数据,那么您可以设置生产风格策略服务器。 Adobe 有 python 和 perl 示例,确保它适用于第一个 @adobe.com/devnet/flashplayer/articles/socket_policy_files.html 【参考方案1】:

这是一个http服务器,http://90.20.233.143:82/crossdomain.xml,是crossdomain.xml的路径。

客户端可以读取 XML,但他说“标记”不好,所以他将忽略标记(法语中的“balise”)。所以计划是在我的 http 服务器上打开端口 843 吗?还是java服务器?

【讨论】:

策略服务器不是基于 http,它们基于 tcp 套接字并将xml 作为一系列字节发送回 Flash 客户端,查看 Adob​​e 示例策略服务器以了解其处理方式。 【参考方案2】:

好的,所以我将代码转换为 XML 文件中的字节,然后通过 Security.loadPolicyFile 方法,我读取了 XML?

【讨论】:

以上是关于loadPolicyFile 在 AS3 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

(swf as3 XML URLLoader) 在 flex 中不起作用

@font-face 在 Firefox 中不起作用 [重复]

AngularJS、SweetAlert.js 在自定义指令中不起作用

发送 URL 在 Flash Player 14 中不起作用

是否可以在 AS3 中查看从 SWF 下载的 crossdomain.xml?

使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作