aflax入门

xiaoxiao2022-06-12  43

RIA应该是近些年比较热门的web技术,譬如flex应用就已经相当的多。就网站开发而言,笔者比较喜欢flex能和后台服务器保持一个长链接的特性,在此基础上可以做很多扩展性的应用。但是众所皆知,flex本身有着加载速度慢等诸多缺点。为了扬长避短,于是有了aflax。 在baidu百科上: [quote]AFLAX是'A JavaScript Library for Macromedia's Flash™ Platform'的略称。[/quote] 实际上我们可以认为aflax是将flex和ajax结合的一种web应用。 [b]socket[/b] 本身来说aflax有着复杂且多样的功能,不过我们之前也说了,这里主要谈的还是在页面上保持一个长链接的应用。闲话不多说,上代码: [b]前端:[/b] <script type="text/javascript" src="js/lib/AFLAX/aflax.js"></script> <script type="text/javascript"> var aflax = new AFLAX("js/lib/AFLAX/aflax.swf"); var connection = null; function go(){ connection = new AFLAX.Socket(aflax, "127.0.0.1", 7777, "onConnectEvent", "onDataEvent", "onCloseEvent"); } function onConnectEvent(val) { console.info(val); } function onDataEvent(str) { console.info(str); } function onCloseEvent() { console.info("the connection is already closed"); } function go1(){ } </script> 引入的aflax.js见附件 这里的js代码并不复杂 var aflax = new AFLAX("js/lib/AFLAX/aflax.swf"); 建立一个名为aflax的swf connection = new AFLAX.Socket(aflax, "127.0.0.1", 7777, "onConnectEvent", "onDataEvent", "onCloseEvent"); 利用我们之前建立的swf,生成socket连接。几个参数分别是swf、服务器地址、服务器端口、连接事件监听、通信事件监听、关闭事件监听。鉴于aflax官方文档算不上详细,初始化连接的时候可以以我们的例子为准。 几个监听器我并没有做复杂处理,只是简单的在firebug中输出结果。 [b]后台:[/b] 后台代码只是一个很基本的serversocket,之前用aflax做的一个网站聊天系统时,我们选用了xsocket和mina两套服务器socket方案,可供参考。 [b]应用[/b] 现在来简单说一下aflax有什么用 应该来说,现在网站前端后台交互非常频繁,以异步读取为主要卖点的ajax本身也是为此而生。不过ajax并不完美,他是单方向的读取,也就是仅仅局限于客户端主动向服务器请求。虽然这个问题,也有不少解决方案,比如定时读取、服务器推技术,但要不及时性差、要不实现复杂。另外当前后台交互过于频繁时,ajax不断的做http请求也会造成极大的压力。 aflax对于这一问题就是很好的解决方案,上面简单几行代码就建立了一个前后台之间的长链接。基于socket,及时性不再是问题。 事实上,我们周围的很多网站都大量运用了aflax技术。比如校内网,页面底部的聊天机制就是最典型的aflax应用,另外在新鲜事应用上,也利用aflax做到了及时更新的特点。 [b]其他[/b] 没有十全十美的事物,aflax就不能再没有flash的浏览器中运行。另外笔者不认为aflax可以完全取代ajax,两者在某些方面完全可以配合使用。 最后附上aflax官网 http://www.aflax.org/ 相关资源:web推送框架-aflax
转载请注明原文地址: https://www.6miu.com/read-4932596.html

最新回复(0)