web即时通信的Flex解决方案
提到web即时通信,可能大家立即会想到ajax定时请求、服务器推等解决方案,但这里我要说的是一种综合的解决方案,使用Adobe的Flex XmlSocket、javascript以及服务器端技术,建立真正的web即时通信。当然这还受益于flash的普及,大部分用户的浏览器都安装了Flash player插件,从而保证此方案维持了web技术无须客户端部署的优势。
XmlSocket采用TCP方式与服务器进行连接,首先要编写一个ActionScript通讯组件并编译的成swf格式,并在HTML的DOM中嵌入此组件,以建立与服务器的连接和数据通信,然后使用javascript与AS组件交互,以处理接收到的数据(建议采用javascript容易解析的JSON或XML数据格式),当然也可以使用其他可与flash交互的脚本语言,而服务器端需要建立一个TCP服务器来处理连接请求和发送数据。此处特别要强调的是策略文件,即flex的安全沙箱问题,这是Adobe在Flash Player 9.0.124.0及以后的更高版本中的安全策略,无论连接到哪一个端口(即使连接到提供 SWF 文件的同一主机上的端口),目标主机上都需要套接字策略文件,建议侦听843端口来发送策略文件,当然也可以通过主通信端口来发送,详细策略文件格式请参照http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html。
以下是连接服务器8000端口的ActionScript代码:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.XMLSocket;
public class XMLSocketExample extends Sprite {
private var hostName:String = "localhost";
private var port:uint = 8000;
private var socket:XMLSocket;
public function XMLSocketExample() {
socket = new XMLSocket();
configureListeners(socket);
if (hostName && port) {
&n
相关文档:
对AS、Flex等知识进行汇总,方便大家学习和查找……
温馨提示:
1.下载教程请注意方法,鼠标右键点击链接从弹出菜单中选择迅雷等工具下载,服务器有时太繁忙还请耐心等待一下;
2.单个教程的分卷压缩包请全部下载后解压,否则解压会出现缺包的情况导致解压失败;
3.如还有问题,可以利用三种方法提出:
......
转自:http://www.cnblogs.com/jiahuafu/archive/2009/03/20/1417679.html
在Flex Application里,是不能直接用addChild添加Sprite,MovieClip等来自flash.display包里的类的。譬如以下代码就会报错:
private function init():void
{
var sp:Sprite = new Sprite();
addChild(sp);
}
TypeEr ......
花了两天时间在网上找资料今天终于是弄起来了!!
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j ......
PopUpEffect.as
package
{
import flash.display.DisplayObject;
import mx.core.IFlexDisplayObject;
import mx.effects.Blur;
import mx.events.TweenEvent;
import mx.managers.PopUpManager;
public class PopUpEffect
{
public function PopUpE ......
· Flex中应用程序、模块之间参数传递一般有三种方式:
· 1.通过URL携带参数进行传递
· 2.通过事件进行传递
· 3.实现接口进行传递
· 其中URL传递参数时:
· Application之间和Module之间是有区别的 ......