關(guān)于 XMLSocket 策略文件對(duì)于 XMLSocket 連接試圖而言,F(xiàn)lash Player 7 (7.0.14.0) 會(huì)在試圖連接的子域內(nèi)的 HTTP 服務(wù)器(端口 80)上查找 crossdomain.xml。Flash Player 7 (7.0.14.0) 以及所有早期版本將 XMLSocket 連接限制在端口 1024 和更高的端口。但是,在 Flash Player 7 (7.0.19.0) 和更高版本中,ActionScript 可以使用 在下面的示例中,F(xiàn)lash Player 從指定的 URL 檢索策略文件: System.security.loadPolicyFile("http://www.adobe.com/folder/policy.xml"); 由該位置的策略文件授予的所有權(quán)限均適用于服務(wù)器層次結(jié)構(gòu)中與該位置同層或低于該層的所有內(nèi)容。因此,如果您試圖加載下面的數(shù)據(jù),會(huì)發(fā)現(xiàn)只能加載某些位置的數(shù)據(jù): 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 服務(wù)器檢索策略文件: System.security.loadPolicyFile("xmlsocket://adobe.com:414"); 在本例中,F(xiàn)lash Player 試圖從指定的主機(jī)和端口檢索策略文件。如果策略文件不在默認(rèn)(根)目錄中,可以使用任意端口;否則只能使用端口 1024 和更高的端口(與早期版本的播放器相同)。建立與指定端口的連接后,F(xiàn)lash Player 將發(fā)送 可以配置 XML 套接字服務(wù)器,使其通過以下方式提供策略文件:
服務(wù)器必須在關(guān)閉連接前發(fā)送一個(gè)空字節(jié)以終止策略文件。如果服務(wù)器不關(guān)閉連接,則 Flash Player 將在接收到結(jié)束空字節(jié)時(shí)關(guān)閉連接。 XML 套接字服務(wù)器提供的策略文件具有與其它策略文件相同的語法,只是它還必須指定授予訪問權(quán)限的端口。允許的端口在
因?yàn)檫B接到 1024 以下的端口的能力是 Flash Player 7 (7.0.19.0) 和更高版本中的新功能,因此即使 SWF 文件連接到它自己的子域,也總是需要使用通過
|
|