liusuyi
2024-10-25 91f6e60919b92b7f99a41f2ddeb42df17cd0c487
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
31
32
package com.ard.tianyu.netty.command;
 
import io.netty.buffer.ByteBuf;
import lombok.Data;
import lombok.NoArgsConstructor;
 
/**
 * 心跳回复命令
 *
 * @author 刘苏义
 * @date 2024/10/22 16:36
 */
@Data
@NoArgsConstructor
public class HeartbeatReplyCommand extends BaseCommand {
 
    private long timestamp; // 时间戳
 
    public HeartbeatReplyCommand(long timestamp) {
        setDataHeader((short) 0x6A77); // 设置帧头
        setCmdCode((byte) 0x02); // 设置指令编号
        setDataLength((short) (13)); // 数据长度 (指令编号 + 时间戳)
        this.timestamp = timestamp;
    }
 
    public void encode(ByteBuf out) {
        out.writeShort(getDataHeader());    // 写入数据头
        out.writeShort(getDataLength());    // 写入数据长度
        out.writeByte(getCmdCode());        // 写入命令码
        out.writeLong(timestamp); // 写入时间戳
    }
}