package packet import "fmt" type WSPacket struct { MessageType int Len uint64 Raw []byte } func NewWSPacket(typ int, data []byte) IPacket { l := len(data) raw := make([]byte, l) copy(raw, data) return &WSPacket{ MessageType: typ, Len: uint64(l), Raw: raw, } } func (p *WSPacket) GetHeader() any { return p.MessageType } func (p *WSPacket) GetLen() uint64 { return p.Len } func (p *WSPacket) GetBody() []byte { return p.Raw } func (p *WSPacket) String() string { return fmt.Sprintf("MessageType=%d, Len=%d, RawStr=%s", p.MessageType, p.Len, string(p.Raw)) }