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