tcppacket

package
v0.0.0-...-1075994 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2018 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ByteToBool

func ByteToBool(i byte) bool

func BytesToInt

func BytesToInt(data []byte) int

func BytesToInt16

func BytesToInt16(data []byte) int16

func BytesToInt32

func BytesToInt32(data []byte) int32

func BytesToInt64

func BytesToInt64(data []byte) int64

func BytesToUint16

func BytesToUint16(data []byte) uint16

func BytesToUint32

func BytesToUint32(data []byte) uint32

func BytesToUint64

func BytesToUint64(data []byte) uint64

func Float32bytes

func Float32bytes(float float32) []byte

func Float64frombytes

func Float64frombytes(bytes []byte) float64

func IntToBytes

func IntToBytes(data interface{}) []byte

IntToBytes 整形转换成byte数组

Types

type MicroPacket

type MicroPacket struct {
	Header         string           `json:"header"`        // 包头 固定为 `VI` [0x56,0x49]
	Length         uint16           `json:"length"`        // 包长度,2字节
	EndpointType   TCPEndpointType  `json:"endpoint_type"` // 消息对应的端点
	Sequence       uint16           `json:"sequence"`      // 报文序号,客户端自增,服务端回复消息时原样返回,服务端主动发消息时,为0
	Code           int16            `json:"code"`          // 服务端返回错误代码
	Reserve        int32            `json:"reserve"`       // 预留
	Payload        string           `json:"payload"`       // 报文内容 为兼容websocket暂时为string类型
	WebsocketCodec *websocket.Codec `json:"-"`
}

MicroPacket 实现自定义协议,包的解析和编码

func MakeMicroPacket

func MakeMicroPacket(endpointType TCPEndpointType, payload interface{}, sequence ...uint16) *MicroPacket

MakeMicroPacket 创建一个MicroPacket用于消息发送使用

func (*MicroPacket) GetWebsocketCodec

func (mp *MicroPacket) GetWebsocketCodec() *websocket.Codec

GetWebsocketCodec 获取websocket编解码对象

func (*MicroPacket) Marshal

func (mp *MicroPacket) Marshal(v interface{}) ([]byte, error)

Marshal 默认封包

func (*MicroPacket) MarshalToJSON

func (mp *MicroPacket) MarshalToJSON(v interface{}) (data []byte, payloadType byte, err error)

MarshalToJSON 编码到json, 同时将Payload转为字符串

func (*MicroPacket) Unmarshal

func (mp *MicroPacket) Unmarshal(data []byte, c chan interface{}) ([]byte, error)

Unmarshal 默认解包

func (*MicroPacket) UnmarshalOne

func (mp *MicroPacket) UnmarshalOne(data []byte) (*MicroPacket, error)

UnmarshalOne 将一个包长的字节转为一个对象

func (*MicroPacket) UnmarshalToJSON

func (mp *MicroPacket) UnmarshalToJSON(data []byte, payloadType byte, v interface{}) (err error)

UnmarshalToJSON 解包为json字符串形式

type TCPEndpointType

type TCPEndpointType int16

TCPEndpointType tcp 端点类型,每个kit端点对应一个枚举值

const (
	// TCPPostHelloEndpoint tcp hello 端点
	TCPPostHelloEndpoint TCPEndpointType = iota // 0
	// TCPAccountLoginEndpoint account 服务登录接口
	TCPAccountLoginEndpoint
)

Jump to

Keyboard shortcuts

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