mirror of
https://github.com/AynaLivePlayer/blivedm-go.git
synced 2025-12-06 19:32:49 +08:00
update
This commit is contained in:
@@ -2,6 +2,6 @@ package packet
|
||||
|
||||
// NewHeartBeatPacket 构造心跳包
|
||||
func NewHeartBeatPacket() []byte {
|
||||
pkt := NewPacket(Plain, HeartBeat, nil)
|
||||
pkt := NewPacket(1, HeartBeat, nil)
|
||||
return pkt.Build()
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user