對不起,我的英語不好。打開的SWF文件比套接字
我有以下問題:
我有一個FLA文件,與Socket類的作品。有一臺服務器(用Delphi XE編寫,但沒關係)。我從.fla連接到它。 當我在Flash Professional CS5中執行.fla時,一切正常。但是,當我試圖從資源管理器中執行導致瑞士法郎(Win 7的時,Flash Player 10)我得到了一個錯誤:
SecurityError: Error #2010: Local-with-filesystem SWF files are not
permitted to use sockets. at flash.net::Socket/internalConnect() at
flash.net::Socket/connect() at payterminal::TLogger() at
payterminal::TMainTerminalClass() at
testterminal_fla::MainTimeline/frame1()
插座連接到服務器,如下所示:
Sock.connect(「127.0 .0.1',5243);
我試圖改變設置在「本地回放安全性」,「文件 - >發佈設置」爲「只訪問網絡
好的Flash播放器啓動時沒有錯誤,但它向服務器發送以下信息。:
<policy-file-request/>
後此套接字連接關閉。
我還試圖用該方法的Security.allowDomain(),但它並沒有取得任何積極成果。
我嘗試過另一種方法。該服務器有兩個偵聽套接字。在端口843當此插口收到郵件策略的文件請求第一次聽它發送到.swf文件跨域文件,像這樣:
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <!-- Policy
file for xmlsocket://socks.mysite.com --> <cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
它之後的插座(843)關閉。 但第二個偵聽套接字獲得相同的信息:。
畢竟,我的.swf在Flash Player中仍然是打開的,沒有錯誤,但套接字連接沒有發生。 我嘗試了不同的crossdomain-files,但是我所有的嘗試都讓我得到了相同的結果。
這就是我的問題。我期待着你的幫助。謝謝。
作爲一個側面說明,讓我補充一點,當服務器發送請求「<策略的文件請求/>」這是要求的crossdomain在那個時候,你需要用crossdomain策略做出迴應,正如我用我發佈的xml所陳述的那樣。之後,客戶端套接字將斷開連接並且客戶端將不得不重新連接到服務器。只有在那個時候你才能通過套接字發送請求。我建議閱讀主策略文件是什麼。我個人保留crossdomain.xml在我使用的每個端口上。 –