1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.dy.simRtu202404.tcpClient;
 
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.mina.core.buffer.IoBuffer;
import org.apache.mina.core.session.IoSession;
import org.apache.mina.filter.codec.ProtocolEncoderAdapter;
import org.apache.mina.filter.codec.ProtocolEncoderOutput;
 
import java.io.IOException;
/**
 * @Author: liurunyu
 * @Date: 2025/02/26 11:10
 * @Description
 */
public class LocalEncoder extends ProtocolEncoderAdapter {
 
    private static final Logger log = LogManager.getLogger(LocalEncoder.class) ;
 
    /**
     * 对数据进行编码,以备网络传输
     */
    public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws IOException, Exception{
        byte[] data = (byte[])message;
        //log.info("上行数据:" + ByteUtil.bytes2Hex(data, true));
 
        out.write(IoBuffer.allocate((data==null?0:data.length), false).put(data).flip());
    }
 
}