java flash tcp字節流通信(一)-flash as3 協議(2)

1.字義通信流對象接口

package com.net.tcp
{

 /**
  * 通信流對象
  **/
 public interface StreamObject
 {
  /**
   * 解析
   **/
  function decode(pack:DataPack):void;
  
  /**
   * 編碼
   **/
  function encode(pack:DataPack):void;
 }
}

 

2.定義通信數據類型

package com.net.tcp
{
 import com.commons.utils.Map;

 /**
  * 通信數據類型
  **/
 public class DataType
 {
  public static const TYPE_ALL:int = -1;
  public static const TYPE_NULL:int = 0;
  public static const TYPE_BYTE:int = 1;
  public static const TYPE_SHORT:int = 2;
  public static const TYPE_INT:int = 3;
  public static const TYPE_DOUBLE:int = 4;
  public static const TYPE_BOOL:int = 5;
  public static const TYPE_STRING:int = 6;
  public static const TYPE_STREAM_OBJECT:int = 7;
  public static const TYPE_ARRAY:int = 8;
  public static const TYPE_MAP:int = 9;
  public static const TYPE_OBJECT:int = 10;
  
  public static function isNumberType(type:int):Boolean{
   if(type == DataType.TYPE_BYTE
    || type == DataType.TYPE_SHORT
    || type == DataType.TYPE_INT
    || type == DataType.TYPE_DOUBLE)
    return true;
   return false
  }
  
  public static function getNumberTypeByObject(object:Object):int{
   if(object is int){
    return TYPE_INT;
   }else if(object is Number){
    return TYPE_DOUBLE;
   }else if(object is Boolean){
    return TYPE_BOOL; 
   }else if(object is String){
    return TYPE_STRING;
   }else if(object is StreamObject){
    return TYPE_STREAM_OBJECT;
   }else if(object is Array){
    return TYPE_ARRAY;
   }else if(object is Map){
     return TYPE_MAP;
   }else{
     return TYPE_OBJECT;
   }
  }
 }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章