Documentation
¶
Index ¶
- func ByteToBool(i byte) bool
- func BytesToInt(data []byte) int
- func BytesToInt16(data []byte) int16
- func BytesToInt32(data []byte) int32
- func BytesToInt64(data []byte) int64
- func BytesToUint16(data []byte) uint16
- func BytesToUint32(data []byte) uint32
- func BytesToUint64(data []byte) uint64
- func Float32bytes(float float32) []byte
- func Float64frombytes(bytes []byte) float64
- func IntToBytes(data interface{}) []byte
- type MicroPacket
- func (mp *MicroPacket) GetWebsocketCodec() *websocket.Codec
- func (mp *MicroPacket) Marshal(v interface{}) ([]byte, error)
- func (mp *MicroPacket) MarshalToJSON(v interface{}) (data []byte, payloadType byte, err error)
- func (mp *MicroPacket) Unmarshal(data []byte, c chan interface{}) ([]byte, error)
- func (mp *MicroPacket) UnmarshalOne(data []byte) (*MicroPacket, error)
- func (mp *MicroPacket) UnmarshalToJSON(data []byte, payloadType byte, v interface{}) (err error)
- type TCPEndpointType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ByteToBool ¶
func BytesToInt ¶
func BytesToInt16 ¶
func BytesToInt32 ¶
func BytesToInt64 ¶
func BytesToUint16 ¶
func BytesToUint32 ¶
func BytesToUint64 ¶
func Float32bytes ¶
func Float64frombytes ¶
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 )
Click to show internal directories.
Click to hide internal directories.