2013-05-26 68 views
0

我創建了一個媒體服務器在localhost「的Adobe Media服務器啓動5」,我能夠通過AS3 AIR應用程序連接到它。我可以看到從我的應用程序被稱爲「SimpleServer來」中的「的Adobe Media Server管理控制檯」的連接,我得到有關連接的正反饋:AS3:共享對象是不可見的管理控制檯

接受來自IP的連接:127.0.0.1,引用:應用程序:/SimpleServer.swf,PAGEURL:

我沒有得到一個編譯時間,也沒有試圖創造一個新的共享對象時,運行時錯誤,我沒有得到任何反饋都沒有。我使用下面的代碼:

var shared:SharedObject = SharedObject.getRemote("HelloWorld", "rtmp://localhost/SimpleServer"); 
    shared.addEventListener(SyncEvent.SYNC, syncEventHandler); 
    shared.connect(nc); 

使用NetConnection創建如下:

nc = new NetConnection(); 
    nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 
    nc.connect("rtmp://localhost/SimpleServer"); 
    nc.client = this; 

我看不到在「查看應用程序」在SharedObject - >「共享對象」和我沒有得到任何關於反饋創作。這就像對象從未被創建過。我也試着設置了共享對象的屬性,有沒有效果:

shared.setProperty("test", false); 

是否有一個簡單的解決這個問題,或者我必須配置高級服務器上的東西?先謝謝你!

+0

執行下列任一事件處理程序你上面添加得到執行?你是在等你打電話'連接()'的'SharedObject'前的NetConnection連接? –

+0

這似乎是'syncEventHandler'沒有得到執行。該'netStatusHandler'會被執行並且表示'NetConnection'爲連接,所以它試圖連接'SharedObject'當連接... – 1awuesterose

+0

我設法解決這個問題,就像我在duTr的解答發表了評論。感謝你的付出! – 1awuesterose

回答

0

由於蘇尼爾問的意見,是有史以來syncEventHandler稱爲當你運行你的代碼?

要部分地回答你的問題:不,你不需要任何特定的服務器端的配置,以便能夠獲取客戶端上一個SharedObject。在執行任何獲取/連接到遠程共享對象的嘗試之前,只需確保已連接到服務器。

this answer一些更多的信息

此外,當試圖得到一個遠程共享對象也使用URI從NetConnection實例的良好實踐的研究:

var shared:SharedObject = SharedObject.getRemote("HelloWorld", nc.uri); 
+0

我在KeyboardEvent上創建了SharedObject。我將變量'shared'改爲全局變量,所以它將存在於程序的整個運行時。現在我可以在管理控制檯中看到SharedObject。當我聲明'共享'本地,但將其推到全局數組或其他東西時,也會發生同樣的效果。我還添加了'shared.client = this'這一行,但我發現這沒有效果。感謝您的幫助! – 1awuesterose