2010-02-02 41 views
4

這裏跨域文件是我的ActionScript代碼:幫助與ActionScript 3的插座

var S:Socket=new Socket("127.0.0.1",2222); 

這裏是我的crossdomain.xml文件(位於http://127.0.0.1/crossdomain.xml

<?xml version="1.0"?> 
    <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
    <cross-domain-policy> 
    <allow-access-from domain="*" to-ports="2222"/> 
    </cross-domain-policy> 

這裏是我的錯誤我得到

Ignoring policy file at xmlsocket://127.0.0.1:2222 due to incorrect syntax. 

從來沒有用過一個之前,我不明白什麼是錯的synta x的CrossDomain文件。

請幫忙。

回答

4

套接字策略文件的工作方式略有不同比HTTP的政策文件;尤其是,他們不通過HTTP服務,或在端口80

取而代之的是,Flash Player的檢查策略文件服務器(端口843默認情況下),或者如果有必要,你打開插座上(對於你,港口2222)。

策略文件服務器是這是爲了響應<policy-file-request/>具有有效的政策文件中的插座。您的郵件中發生的事情很可能是它發送了它的請求並獲取了策略文件以外的內容,因此端口2222的語法無效。

這裏有很多資源,還有一些問題here on SO。這裏是來自Adobe的one tutorial

+0

這絕對是我的問題的答案!一旦我編寫了我的套接字,當它得到一個「」消息時,它就會在SOCKET上返回一個我的crossdomain.xml文件,突然間所有Flex對它的抱怨都消失了。謝謝! – Joshua 2010-02-02 17:49:47