| package com.dayu.henanlibrary.net; | 
|   | 
| import com.dayu.baselibrary.tools.HexUtil; | 
| import com.dayu.baselibrary.utils.LogUtil; | 
| import com.dayu.henanlibrary.utils.SocketUtil; | 
| import com.easysocket.interfaces.config.IMessageProtocol; | 
|   | 
| import java.nio.ByteOrder; | 
|   | 
| public class ScoketMessageProtocol implements IMessageProtocol { | 
|     @Override | 
|     public int getHeaderLength() { | 
|         return 3; | 
|     } | 
|   | 
|     @Override | 
|     public int getBodyLength(byte[] header, ByteOrder byteOrder) { | 
|         if (header == null || header.length < getHeaderLength()) { | 
|             return 0; | 
|         } | 
|         LogUtil.i("headerLength>>" + header.length); | 
| //        ByteBuffer bb = ByteBuffer.wrap(header); | 
| //        bb.order(byteOrder); | 
|   | 
| //        String length = ""; | 
| //        try { | 
| //            String head = new String(header); | 
| //            LogUtil.i("getBodyLength>>" + head); | 
| //            length = head.split("68")[1]; | 
| // | 
| //        } catch (Exception e) { | 
| //            e.printStackTrace(); | 
| //        } | 
|   | 
|         int length = SocketUtil.get16to10(HexUtil.byteToHex(header[1])); | 
|   | 
| //        EasySocket.getInstance().getDefOptions().getMaxWriteBytes(); | 
|   | 
|   | 
|         return length + 2; // body的长度以int的形式写在header那里 | 
|     } | 
|   | 
|   | 
| //    @Override | 
| //    public byte[] pack(ISender sender) { | 
| //        // 默认为utf-8 Charset.forName(EasySocket.getInstance().getOptions().getCharsetName()) | 
| //        byte[] body = new Gson().toJson(sender).getBytes(Charset.forName(EasySocket.getInstance().getOptions().getCharsetName())); | 
| //        // 消息头的长度,指多少个byte | 
| //        int headerLength = getHeaderLength(); | 
| //        ByteBuffer bb = ByteBuffer.allocate(headerLength + body.length); | 
| //        bb.order(ByteOrder.BIG_ENDIAN); | 
| //        bb.putInt(body.length); // header,保存body的length | 
| //        bb.put(body); // body | 
| //        return bb.array(); | 
| //    } | 
|   | 
|   | 
| } |