5.1 创建消息封装类型

    1. package znet
    2. type Message struct {
    3. Id uint32 //消息的ID
    4. DataLen uint32 //消息的长度
    5. Data []byte //消息的内容
    6. }
    7. //创建一个Message消息包
    8. func NewMsgPackage(id uint32, data []byte) *Message {
    9. return &Message{
    10. Id: id,
    11. DataLen: uint32(len(data)),
    12. }
    13. //获取消息数据段长度
    14. func (msg *Message) GetDataLen() uint32 {
    15. return msg.DataLen
    16. }
    17. //获取消息ID
    18. func (msg *Message) GetMsgId() uint32 {
    19. return msg.Id
    20. }
    21. //获取消息内容
    22. func (msg *Message) GetData() []byte {
    23. return msg.Data
    24. //设置消息数据段长度
    25. func (msg *Message) SetDataLen(len uint32) {
    26. msg.DataLen = len
    27. }
    28. //设计消息ID
    29. func (msg *Message) SetMsgId(msgId uint32) {
    30. msg.Id = msgId
    31. }
    32. //设计消息内容
    33. func (msg *Message) SetData(data []byte) {
    34. msg.Data = data
    35. }