red5小結以及對未來的YY

從上個星期開始研究red5的應用。應該說flash 富媒體應用前景是非常廣泛的,而且放眼同類網站尤其是同行業網站,相關應用非常之少,但是flash 富媒體可以擴展到的功能非常強大的,不然微軟也不會想用silver light來分一杯羹。我總覺得,網站的發展要靠技術發展,正所謂技術一小步,網站一大步嘛,因此做技術的一定要有前瞻性,更要勇於試錯。

唔唔,跑題了。這些日子學到的多是基本概念,其實關鍵是要跟英文對得上,畢竟可以查閱的只有英文文檔。

red5裏面,每個應用對應一個域(scope),所有的客戶端(client)通過連接(connection)連接到域當中(目前我還沒有接觸到複合域)。所以說,一個域基本上就對應一個java主程序,所有的配置文件均指向此程序。對於單一域,每個連接對應一個客戶端,而每個客戶端對應一個id,簡單的應用,操作就針對這個id和連接進行。

ApplicationAdapter是所有應用的基礎,運行時候裏面包含幾個事件處理:
public boolean appStart(IScope app) 此應用開始的時候觸發,app爲此域
public boolean appConnect(IConnection conn, Object[] params) 客戶端連接到域的時候觸發,也就是nc.connect的時候觸發,conn爲當前連接,後面爲參數
public void appDisconnect(IConnection conn) 客戶端斷開時觸發,conn爲客戶端
public boolean appJoin(IClient client, IScope app) 也是連接到應用時觸發,沒搞太明白這個

使用as3連接服務器端的方法是nc.call("方法名",響應器,變量),如果有返回值則會傳遞到響應器的正確函數中,沒有返回值依然會調用正確函數,只是沒有傳參。服務器回調as3函數時,先判斷連接是否正常,然後用invoke("方法名",參數)方法調用;as3這邊,nc是首選接受回調方法的,但是as3種,直接用nc.callBackMethod=function(){}的方法flash ide會報錯,因而通常用nc.client屬性來定義回調函數所在的位置。比如我用data_model類來組合nc,那麼就是nc.client=this; public function callBackMethod(val){}便沒有問題。

啊,總結至此。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章