flash socket 发对象问题

下面是代码

flash socket 发对象

  private function SendObject(params:Object=null):void
  {            
     if(params != null){  
        var bytes:ByteArray = new ByteArray();
         bytes.writeObject(params);//写入对象
         bytes.compress(); //压缩
         socketsendarr(SgsProtocol.OBJECT_MESSAGE,bytes);
     }

 

//socket 发送字节数组,cmd是命令

    private  function socketsendarr(cmd:int,message:ByteArray):void
  {
    if (connected)
    { 
   var buf:ByteArray = new ByteArray();
   buf.writeByte(cmd);
   buf.writeBytes(message);
   socket.writeShort(buf.length);  
   socket.writeBytes(buf);
   socket.flush();
   debugMessage("send sgs:"+cmd.toString()+" 大小"+(buf.length+2));
    }
  }

 

 //发了对象就要解析了

前面一部分先把命令先读了,后面的是对象

  public function ObjectMsg(o:ByteArray):void
  {
    var bytes:ByteArray = new ByteArray();
    o.readBytes(bytes, 0, o.bytesAvailable);//读对象
    bytes.uncompress();//解压
    var evt:HDEvent = new HDEvent(HDEvent.OnObject, bytes.readObject())
    HdClient.dispatchEvent(evt)

//触发事件
  } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值