关于 XMLSocket 策略文件对于 XMLSocket 连接试图而言,Flash Player 7 (7.0.14.0) 会在试图连接的子域内的 HTTP 服务器(端口 80)上查找 crossdomain.xml。Flash Player 7 (7.0.14.0) 以及所有早期版本将 XMLSocket 连接限制在端口 1024 和更高的端口。但是,在 Flash Player 7 (7.0.19.0) 和更高版本中,ActionScript 可以使用 在下面的示例中,Flash Player 从指定的 URL 检索策略文件: System.security.loadPolicyFile("http://www.adobe.com/folder/policy.xml"); 由该位置的策略文件授予的所有权限均适用于服务器层次结构中与该位置同层或低于该层的所有内容。因此,如果您试图加载下面的数据,会发现只能加载某些位置的数据: myLoadVars.load("http://www.adobe.com/folder/vars.txt"); // 允许 myLoadVars.load("http://www.adobe.com/folder/dir/vars2.txt"); // 允许 myLoadVars.load("http://www.adobe.com/elsewhere/vars3.txt"); // 不允许 要解决此问题,可以使用 特殊语法允许直接从 XMLSocket 服务器检索策略文件: System.security.loadPolicyFile("xmlsocket://adobe.com:414"); 在本例中,Flash Player 试图从指定的主机和端口检索策略文件。如果策略文件不在默认(根)目录中,可以使用任意端口;否则只能使用端口 1024 和更高的端口(与早期版本的播放器相同)。建立与指定端口的连接后,Flash Player 将发送 可以配置 XML 套接字服务器,使其通过以下方式提供策略文件:
服务器必须在关闭连接前发送一个空字节以终止策略文件。如果服务器不关闭连接,则 Flash Player 将在接收到结束空字节时关闭连接。 XML 套接字服务器提供的策略文件具有与其它策略文件相同的语法,只是它还必须指定授予访问权限的端口。允许的端口在
因为连接到 1024 以下的端口的能力是 Flash Player 7 (7.0.19.0) 和更高版本中的新功能,因此即使 SWF 文件连接到它自己的子域,也总是需要使用通过
|
|
来自: jimmylin88cn > 《flash》