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
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
function chkbox():void
{
var menssage:String = "";
if (c ......
对AS、Flex等知识进行汇总,方便大家学习和查找……
温馨提示:
1.下载教程请注意方法,鼠标右键点击链接从弹出菜单中选择迅雷等工具下载,服务器有时太繁忙还请耐心等待一下;
2.单个教程的分卷压缩包请全部下载后解压,否则解压会出现缺包的情况导致解压失败;
3.如还有问题,可以利用三种方法提出:
......
1) 编译CSS资源
文件浏览器(Navigator)中,在标准的Flex CSS文件上点击右键,点击Compile CSS to SWF即可完成编译CSS的任务。
在程序中可以用StyleManager.loadStyleDeclarations()来读出已编译好的CSS文件中的内容。
具体操作如下:
&nbs ......
前言:
本项目主要是通过把地图切片嵌入swf,把切片坐标用Java数据打包,然后 在Flex项目内通过Java读取打包数据,通讯给Flex,最后把swf内的图片安放在对应位置来实大地图 拆分->打包->再现的过程。
1. swf图片打包代码 BitMapClass.as
package
{
import flash.display.Sprite;
public class BitM ......
· Flex中应用程序、模块之间参数传递一般有三种方式:
· 1.通过URL携带参数进行传递
· 2.通过事件进行传递
· 3.实现接口进行传递
· 其中URL传递参数时:
· Application之间和Module之间是有区别的 ......