protocol

package
v0.0.0-...-a7d350e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// HeaderLength 消息头长度
	HeaderLength = 8
)

Variables

This section is empty.

Functions

This section is empty.

Types

type IMessagePack

type IMessagePack interface {
	// 请求消息封包方法
	Pack(msg Imessage) ([]byte, error)
	// 请求消息解包方法
	UnPack([]byte) (Imessage, error)
	//	从conn中读取数据解包
	ReadUnPack(gnet.Conn) (Imessage, error)
}

IMessagePack 消息封包、解包

func NewMessagePack

func NewMessagePack() IMessagePack

type Imessage

type Imessage interface {
	// 设置扩展数据的长度
	SetExtLen(extLen uint32)
	// 获取扩展数据的长度
	GetExtLen() uint32
	// 设置扩展数据
	SetExt(ext []byte)
	// 获取扩展数据
	GetExt() []byte

	// 设置编码方式
	SetCodecType(codecType codec.CodecType)
	// 获取编码方式
	GetCodecType() codec.CodecType

	// 设置主体数据段长度
	SetDataLen(dataLen uint32)
	// 获取主体数据段长度
	GetDataLen() uint32
	// 设置主体数据内容
	SetData(data []byte)
	// 获取主体数据内容
	GetData() []byte

	// 获取消息总长度
	GetCount() uint32
}

Imessage 请求消息和返回消息体封装

消息格式 扩展数据长度|主体数据长度|编码方式|扩展数据|主体数据 扩展数据可以按照实际使用场景定义格式和用途

在gms服务中 请求消息 扩展信息作为:要请求的目标方法 返回消息 扩展信息作为:请求成功失败的描述

func NewMessage

func NewMessage(ext, data []byte, codecType codec.CodecType) Imessage

NewMessage 初始化消息方法

type Message

type Message struct {
	// contains filtered or unexported fields
}

Message 请求消息和返回消息体封装

func (*Message) GetCodecType

func (m *Message) GetCodecType() codec.CodecType

获取编码方式

func (*Message) GetCount

func (m *Message) GetCount() uint32

GetCount 获取消息总长度

func (*Message) GetData

func (m *Message) GetData() []byte

GetData 获取主体数据内容

func (*Message) GetDataLen

func (m *Message) GetDataLen() uint32

GetDataLen 获取主体数据段长度

func (*Message) GetExt

func (m *Message) GetExt() []byte

GetExt 获取扩展数据

func (*Message) GetExtLen

func (m *Message) GetExtLen() uint32

GetExtLen 获取扩展数据的长度

func (*Message) SetCodecType

func (m *Message) SetCodecType(codecType codec.CodecType)

设置编码方式

func (*Message) SetData

func (m *Message) SetData(data []byte)

SetData 设置主体数据内容

func (*Message) SetDataLen

func (m *Message) SetDataLen(dataLen uint32)

SetDataLen 设置主体数据段长度

func (*Message) SetExt

func (m *Message) SetExt(ext []byte)

SetExt 设置扩展数据

func (*Message) SetExtLen

func (m *Message) SetExtLen(extLen uint32)

SetExtLen 设置扩展信息长度

type MessagePack

type MessagePack struct {
}

MessagePack 消息编码、解码 实现gnet.ICodec 接口

func (*MessagePack) Pack

func (m *MessagePack) Pack(message Imessage) ([]byte, error)

Pack 消息编码 消息格式 扩展数据长度|主体数据长度|扩展数据|主体数据

func (*MessagePack) ReadUnPack

func (m *MessagePack) ReadUnPack(gnet.Conn) (Imessage, error)

从conn中读取数据解包

func (*MessagePack) UnPack

func (m *MessagePack) UnPack(binaryMessage []byte) (Imessage, error)

UnPack 消息解码 消息格式 扩展数据长度|主体数据长度|扩展数据|主体数据

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL