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 
 | 
    } 
 | 
} 
 |