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){}便没有问题。

啊,总结至此。

你可能感兴趣的:(应用服务器,Flash,ide)