Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 使用Flash的XMLSocket与Servlet建立长连接(8,net.fla的辅助类)
【标  题】:使用Flash的XMLSocket与Servlet建立长连接(8,net.fla的辅助类)
【关键字】:Flash,XMLSocket,Servlet,net.fla
【来  源】:http://blog.csdn.net/xuesong123/archive/2007/03/04/1520098.aspx

使用Flash的XMLSocket与Servlet建立长连接(8,net.fla的辅助类)

Your Ad Here

使用Flash的XMLSocket与Servlet建立长连接(8,net.fla的辅助类)

注意以下的是flash的.as文件,必须放到com/inet/util/目录下, 否则net.fla不能被编译

/*
 * $RCSfile: com.inet.util.CharsUtil,v $
 * $Revision: 1.1  $
 *
 * Copyright (C) 2005 inet, Inc. All rights reserved.
 *
 * This software is the proprietary information of inet, Inc.
 * Use is subject to license terms.
 *
 * @author: chenyankui
 * @Date:   2006-9-28
 */
class com.inet.util.CharsUtil
{
 public static function toCharArray(src:String):Array
 {
  var array:Array = new Array();

  if(src != null && src != undefined)
  {
   for(var i = 0; i < src.length; i++)
   {
    array.push(src.charAt(i));
   }
  }

  return array;
 }
 
 public static function charArray2String(array:Array):String
 {
  var x = "";

  for(var i=0; i<array.length; i++)
  {
   x += array[i];
  }

  return x;
 }
}

/*
 * $RCSfile: com.inet.util.UUID,v $
 * $Revision: 1.1  $
 *
 * Copyright (C) 2005 inet, Inc. All rights reserved.
 *
 * This software is the proprietary information of inet, Inc.
 * Use is subject to license terms.
 *
 * @author: chenyankui
 * @Date:   2006-9-28
 */

class com.inet.util.UUID
{
 // ActionScript的toString(16)对于大数字返回的字符串会有一个前缀"-"
 // 下面减去的数是我写这个程序的时间
 private static var SEEK:Number = new Date().getTime() - 1159366701976;
 
 public static function getUUID():String
 {
  return (UUID.SEEK++).toString(16).toUpperCase();
 }
}

/*
 * $RCSfile: com.inet.util.DateFormat,v $
 * $Revision: 1.1  $
 *
 * Copyright (C) 2005 inet, Inc. All rights reserved.
 *
 * This software is the proprietary information of inet, Inc.
 * Use is subject to license terms.
 *
 * @author: chenyankui
 * @Date:   2006-9-28
 */

import com.inet.util.CharsUtil;

class com.inet.util.DateFormat
{
 private var pattern:String = null;
 private var formatSymbols:String = null;
 
 public function DateFormat(_pattern:String, _formatSymbols:String)
 {
  if(_pattern == null || _pattern == undefined)
  {
   this.pattern = "yyyy-MM-dd HH:mm:ss SSS";
  }
  else
  {
   this.pattern = _pattern;
  }

  if(_formatSymbols == null || _formatSymbols == undefined)
  {
   this.formatSymbols = "yMdHmsS";
  }
  else
  {
   this.formatSymbols = _formatSymbols;
  }
 }
 
 public function format(date:Date):String
 {
  var time = DateFormat.getTime(date);
  
  // 标记存入数组
  var cs = CharsUtil.toCharArray(this.formatSymbols);

  // 格式存入数组
  var fs = CharsUtil.toCharArray(this.pattern);

  // 构造数组
  var ds = CharsUtil.toCharArray(time);

  // 标志年月日的结束下标
  var y = 3;
  var M = 6;
  var d = 9;
  var H = 12;
  var m = 15;
  var s = 18;
  var S = 22;

  // 逐位替换年月日时分秒和毫秒
  for(var i = fs.length - 1; i > -1; i--)
  {
   switch (fs[i])
   {
    case cs[0]:
    {
     fs[i] = ds[y--];
     break;
    }
    case cs[1]:
    {
     fs[i] = ds[M--];
     break;
    }
    case cs[2]:
    {
     fs[i] = ds[d--];
     break;
    }
    case cs[3]:
    {
     fs[i] = ds[H--];
     break;
    }
    case cs[4]:
    {
     fs[i] = ds[m--];
     break;
    }
    case cs[5]:
    {
     fs[i] = ds[s--];
     break;
    }
    case cs[6]:
    {
     fs[i] = ds[S--];
     break;
    }
   }
  }

  return CharsUtil.charArray2String(fs);
 }
 
 public function parse(date:String):Date
 {
  var y:String = "";
  var M:String = "";
  var d:String = "";
  var H:String = "";
  var m:String = "";
  var s:String = "";
  var S:String = "";

  // 标记存入数组
  var cs:Array = CharsUtil.toCharArray(this.formatSymbols);

  // 格式存入数组
  var ds:Array = CharsUtil.toCharArray(this.pattern);

  // date   = "2005-08-22 12:12:12 888";
  // format = "yyyy-MM-dd HH:mm:ss SSS";
  // sign   = "yMdHmsS";
  var size:Number = Math.min(ds.length, date.length);

  for(var i = 0; i < size; i++)
  {
   switch (ds[i])
   {
    case cs[0]:
    {
     y += date.charAt(i);
     break;
    }
    case cs[1]:
    {
     M += date.charAt(i);
     break;
    }
    case cs[2]:
    {
     d += date.charAt(i);
     break;
    }
    case cs[3]:
    {
     H += date.charAt(i);
     break;
    }
    case cs[4]:
    {
     m += date.charAt(i);
     break;
    }
    case cs[5]:
    {
     s += date.charAt(i);
     break;
    }
    case cs[6]:
    {
     S += date.charAt(i);
     break;
    }
   }
  }
  
  var __y:Number = 0;
  var __M:Number = 0;
  var __d:Number = 0;
  var __H:Number = 0;
  var __m:Number = 0;
  var __s:Number = 0;
  var __S:Number = 0;
  
  
  if(y.length > 0) __y = parseInt(y);
  if(M.length > 0) __M = parseInt(M);
  if(d.length > 0) __d = parseInt(d);
  if(H.length > 0) __H = parseInt(H);
  if(m.length > 0) __m = parseInt(m);
  if(s.length > 0) __s = parseInt(s);
  if(S.length > 0) __S = parseInt(S);

  return new Date(__y, __M - 1, __d, __H, __m, __s, __S);
  //return new Date();
 }
 
 // 返回当前时间
 public static function getTime(date:Date):String
 {
  if(date == null)
  {
   date = new Date();
  }
  
  var y:Number = date.getFullYear();
  var M:Number = date.getMonth() + 1;
  var d:Number = date.getDate();
  var h:Number = date.getHours();
  var m:Number = date.getMinutes();
  var s:Number = date.getSeconds();
  var S:Number = date.getTime() % 1000;

  var html:String = y + "-";

  if(M < 10)
  {
   html += "0";
  }
  html += M + "-";

  if(d < 10)
  {
   html += "0";
  }
  html += d + " ";

  if(h < 10)
  {
   html += "0";
  }
  html += h + ":";

  if(m < 10)
  {
   html += "0";
  }
  html += m + ":";

  if(s < 10)
  {
   html += "0";
  }
  html += s.toString();
  
  html += " ";

  if(S < 100)
  {
   html += "0"
  }

  if(S < 10)
  {
   html += "0";
  }

  html += S.toString();

  return html;
 }

java.lang.NoClassDefFoundError之二 2006.9.1:【上一篇】
使用Flash的XMLSocket与Servlet建立长连接(7,测试的页面截图):【下一篇】
【相关文章】
  • Flex Builder 2 cannot locate the required debug version of the Flash Player
  • 让VB6.0来辅助FLASH调用数据
  • [AS]Flash函数调试器及变量修改、赋值器发布!
  • Flash上传文件(结合asp.net)
  • 机顶盒的flash界面程序
  • 开始用 flash 来制作股票曲线图
  • 使用 Trace32 对 FLASH 编程
  • 应用程序上屏蔽FLASH控件的右键菜单并获得左键消息
  • Ajax+ASP和Flash+ASP数据读取取方法有些相似
  • uboot移植支持nand flash启动
  • 【随机文章】
  • ubuntu 下成功安装 qtopia-free-2.2.0
  • js数组 sort方法的分析 转自NorthSnow HOME
  • 读书笔记《VFP6.0-9.0解决方案与范例大全》一
  • Google 會對使用 Macromedia Flash 的網站建立索引嗎?
  • compile kernel or world in chroot way on 6.1 box
  • 如何以CMMI或ISO为指导实施过程改进(黑纸系列一)
  • 今天面试中的两个问题
  • 发现.Net 2.0中可空类型的一个BUG?
  • 用JavaMail API编写可带附件的邮件发送程序
  • 测试您电脑的端口和防火墙! 看看你的计算机的安全程序
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.