znet

package
v0.0.0-...-ee6b5e2 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2021 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewServer

func NewServer(name string) ziface.IServer

初始化server

Types

type BaseRouter

type BaseRouter struct {
}

func (*BaseRouter) AfterHandle

func (br *BaseRouter) AfterHandle(request ziface.IRequest)

处理后的方法

func (*BaseRouter) BeforeHandle

func (br *BaseRouter) BeforeHandle(request ziface.IRequest)

baserouter的方法都为空,router默认 为空。 处理前的方法

func (*BaseRouter) Handle

func (br *BaseRouter) Handle(request ziface.IRequest)

处理时的方法

type Connection

type Connection struct {
	//获取链接套接字
	Conn *net.TCPConn
	//链接的ID
	ConnID uint32

	//当前链接所绑定的处理方法API
	//handleAPI ziface.HandleFunc
	//告知当前链接已经退出的/停止 channel
	ExitChan chan bool
	// 该链接处理的方法Router
	Router ziface.IRouter
	// contains filtered or unexported fields
}

链接模块

func NewConnection

func NewConnection(conn *net.TCPConn, connID uint32, router ziface.IRouter) *Connection

初始化链接模块的方法

func (*Connection) GetConnID

func (c *Connection) GetConnID() uint32

获取当前链接模块的链接ID

func (*Connection) GetRemoteAddr

func (c *Connection) GetRemoteAddr() net.Addr

获取远程客户端的TCP状态 IP port

func (*Connection) GetTCPConnection

func (c *Connection) GetTCPConnection() *net.TCPConn

获取当前链接的绑定socket conn

func (*Connection) SendMsg

func (c *Connection) SendMsg(msgId uint32, data []byte) error

提供一个SendMsg方法,将我们要发送给客户端的数据,先进行封包 再发送

func (*Connection) Start

func (c *Connection) Start()

启动链接,让当前的链接准备开始工作

func (*Connection) StartReader

func (c *Connection) StartReader()

链接的读业务方法

func (*Connection) Stop

func (c *Connection) Stop()

停止链接,结束当前链接的工作

type DataPack

type DataPack struct {
}

封包,拆包模块,直接面向tcp链接中的数据流,处理tcp粘包问题。

func NewDataPack

func NewDataPack() *DataPack

拆包封包实例的一个初始化方法

func (*DataPack) GetHeadLen

func (dp *DataPack) GetHeadLen() uint32

获取包的长度方法

func (*DataPack) Pack

func (dp *DataPack) Pack(msg ziface.IMessage) ([]byte, error)

封包方法 datalen|msgID|data|

func (*DataPack) Unpack

func (dp *DataPack) Unpack(binaryData []byte) (ziface.IMessage, error)

拆包方法 (将包的head信息读出来)之后再根据head信息里的data长度,在进行一次读。

type Message

type Message struct {
	//消息的ID
	Id uint32
	//消息的长度
	DataLen uint32
	//消息的内容
	Data []byte
}

func NewMsgPackage

func NewMsgPackage(id uint32, data []byte) *Message

创建一个Message小溪包

func (*Message) GetData

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

获取消息的内容

func (*Message) GetMsgId

func (m *Message) GetMsgId() uint32

获取消息的ID

func (*Message) GetMsgLen

func (m *Message) GetMsgLen() uint32

获取消息的长度

func (*Message) SetData

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

设置消息的内容

func (*Message) SetMsgId

func (m *Message) SetMsgId(id uint32)

设置消息的ID

func (*Message) SetMsgLen

func (m *Message) SetMsgLen(len uint32)

设置消息的长度

type Request

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

func (*Request) GetConnection

func (r *Request) GetConnection() ziface.IConnection

得到当前链接

func (*Request) GetData

func (r *Request) GetData() []byte

得到请求的消息数据

func (*Request) GetMsgID

func (r *Request) GetMsgID() uint32

得到请求的ID

type Server

type Server struct {
	//服务器的名称
	Name string
	//服务器绑定的ip版本
	IPVersion string
	//服务器绑定的IP地址
	IP string
	//服务器绑定的端口号
	Port int
	//当前的server添加一个router。
	Router ziface.IRouter
}

iServer 的接口实现,定义一个server的服务器结构体

func (*Server) AddRouter

func (s *Server) AddRouter(router ziface.IRouter)

func (*Server) Serve

func (s *Server) Serve()

运行服务器

func (*Server) Start

func (s *Server) Start()

启动服务器

func (*Server) Stop

func (s *Server) Stop()

停止服务器

Jump to

Keyboard shortcuts

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