aflax入门

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/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值