| package com.easysocket.config; | 
|   | 
| import com.easysocket.interfaces.config.IMessageProtocol; | 
|   | 
| import java.nio.ByteBuffer; | 
| import java.nio.ByteOrder; | 
|   | 
| /** | 
|  * Author:Alex | 
|  * Date:2019/5/31 | 
|  * Note:默认的消息协议,header为4个字节,保存消息体 body的长度 | 
|  */ | 
| public class DefaultMessageProtocol implements IMessageProtocol { | 
|     @Override | 
|     public int getHeaderLength() { | 
|         return 4; // 包头长度,用来保存body的长度值 | 
|     } | 
|   | 
|     @Override | 
|     public int getBodyLength(byte[] header, ByteOrder byteOrder) { | 
|         if (header == null || header.length < getHeaderLength()) { | 
|             return 0; | 
|         } | 
|         ByteBuffer bb = ByteBuffer.wrap(header); | 
|         bb.order(byteOrder); | 
|         return bb.getInt(); // body的长度以int的形式保存在 header | 
|     } | 
| } |