在zinx/ziface/下创建imessage.go文件
zinx/ziface/imessage.go
package ziface/*将请求的一个消息封装到message中,定义抽象层接口*/type IMessage interface {GetDataLen() uint32 //获取消息数据段长度GetMsgId() uint32 //获取消息IDGetData() []byte //获取消息内容SetMsgId(uint32) //设计消息IDSetData([]byte) //设计消息内容SetDataLen(uint32) //设置消息数据段长度}
同时创建实例message类,在zinx/znet/下,创建message.go文件
zinx/znet/message.go
package znettype Message struct {Id uint32 //消息的IDDataLen uint32 //消息的长度Data []byte //消息的内容}//创建一个Message消息包func NewMsgPackage(id uint32, data []byte) *Message {return &Message{Id: id,DataLen: uint32(len(data)),Data: data,}}//获取消息数据段长度func (msg *Message) GetDataLen() uint32 {return msg.DataLen}//获取消息IDfunc (msg *Message) GetMsgId() uint32 {return msg.Id}//获取消息内容func (msg *Message) GetData() []byte {return msg.Data}//设置消息数据段长度func (msg *Message) SetDataLen(len uint32) {msg.DataLen = len}//设计消息IDfunc (msg *Message) SetMsgId(msgId uint32) {msg.Id = msgId}//设计消息内容func (msg *Message) SetData(data []byte) {msg.Data = data}
整理一个基本的message包,会包含消息ID,数据,数据长度三个成员,提供基本的setter和getter方法,目的是为了以后做封装优化的作用。同时也提供了一个创建一个message包的初始化方法NewMegPackage。
