private static var pack_len : int; private static var buffer : ByteArray; private static function OnSocketData (event:ProgressEvent) : void { while (socket.bytesAvailable > 0) { if (pack_len == -1) { pack_len = socket.readShort(); buffer = new ByteArray(); } socket.readBytes(buffer, 0, pack_len - buffer.length); if (buffer.length == pack_len) { ParseSocketData(buffer); pack_len = -1; } } }