This commit is contained in:
秋葉杏
2023-10-23 18:23:25 +08:00
parent 3c026c815e
commit 77e5a27ca9
2 changed files with 14 additions and 3 deletions

View File

@@ -2,6 +2,6 @@ package packet
// NewHeartBeatPacket 构造心跳包
func NewHeartBeatPacket() []byte {
pkt := NewPacket(Plain, HeartBeat, nil)
pkt := NewPacket(1, HeartBeat, nil)
return pkt.Build()
}

View File

@@ -18,8 +18,8 @@ const (
)
const (
_ = iota
_
HandShake = iota
HandShakeResponse
HeartBeat
HeartBeatResponse
_
@@ -94,10 +94,21 @@ func (p *Packet) Unmarshal(v interface{}) error {
}
func (p *Packet) Build() []byte {
// default packet with some constants
// raw header length: buf[5] = 16
// seq: buf[16] = 1
rawBuf := []byte{0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
// protocol version
binary.BigEndian.PutUint16(rawBuf[6:], p.ProtocolVersion)
// operation code
binary.BigEndian.PutUint32(rawBuf[8:], p.Operation)
// append payload
rawBuf = append(rawBuf, p.Body...)
// payload length
binary.BigEndian.PutUint32(rawBuf, uint32(len(rawBuf)))
return rawBuf
}