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)
//觸發事件
??}?
總結
以上是生活随笔為你收集整理的flash socket 发对象问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flash socket通信问题
- 下一篇: hudo as3 网络通信框架