netUtil

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TCP          = "tcp"
	Buf_Len_1024 = 1024
)

常量

View Source
const Con_Time_Out int64 = 30000
View Source
const (
	HTTP = "http://"
)
View Source
const (
	UDP = "udp"
)

常量

Variables

This section is empty.

Functions

func GetTCPAddr

func GetTCPAddr(addr string) (*net.TCPAddr, error)

获取tcpAddr 对象 addr: ip:port eg: 127.0.0.1:8000

func ValidateTCPAddr

func ValidateTCPAddr(tcpAddr string) (addr *net.TCPAddr, err error)

校验TCP地址格式是否正确

func ValidateUDPAddr

func ValidateUDPAddr(udpAddr string) (addr *net.UDPAddr, err error)

校验UDP地址格式是否正确

Types

type HttpServer

type HttpServer struct {
	Addr string
	Gin  *gin.Engine
}

func NewHttpServer

func NewHttpServer(addr string) (h *HttpServer)

创建HttpServer

func (*HttpServer) AddHandle

func (httpServer *HttpServer) AddHandle(group string, path string, handle func(c *gin.Context)) *HttpServer

添加处理Handle

func (*HttpServer) AddHandles

func (httpServer *HttpServer) AddHandles(group string, handlers map[string]func(c *gin.Context)) *HttpServer

批量添加处理Handle

func (*HttpServer) Close

func (httpServer *HttpServer) Close()

关闭HttpServer

func (*HttpServer) Run

func (httpServer *HttpServer) Run()

启动HttpServer

type TCPClient

type TCPClient struct {
	Addr    *net.TCPAddr       // ip:port
	Handler func(*TCPTransfer) // 每次收到服务端信息后,执行的处理信息函数
}

func NewTCPClient

func NewTCPClient(addr string, handler func(transfer *TCPTransfer)) (t *TCPClient, err error)

创建TCP 客户端连接对象并返回 handler 函数,主要用于客户端收到服务器消息后的处理函数 返回 TCPClient 对象

func (*TCPClient) Conn

func (t *TCPClient) Conn() (transfer *TCPTransfer, err error)

客户端与服务器建连接 连接创建之后,进行回调处理服务器消息函数

type TCPServer

type TCPServer struct {
	Addr         *net.TCPAddr             // ip:port
	InitHandler  func(*TCPTransfer) error // 第一次收到客户端信息后,执行的回执函数
	Handler      func(*TCPTransfer)       // 每次收到客户端信息后,执行的处理信息函数
	PanicHandler func(interface{})        // 接收客户端请求 传输处理数据过程中遇到panic时的处理函数
	ClientConMap sync.Map                 // 客户端传输对象: key 为客户端addr, value 为 *TCPTransfer
	ClientMaxNum int                      // 允许连接的最大客户端数
	ServerState  bool                     // 服务状态: true : 服务存活 , false : 服务关闭
	// contains filtered or unexported fields
}

func NewTCPServer

func NewTCPServer(addr string, clientMaxNum int, clientConnTimeOut int64, initHandler func(transfer *TCPTransfer) error, handler func(transfer *TCPTransfer), panicHandler func(interface{})) (t *TCPServer, err error)

NewTCPServer 创建TCP服务并返回对象 param: addr tcp服务地址 param: clientMaxNum 允许最大的客户端连接数 param: clientConnTimeOut 客户连接超时时间 , -1 表示不限制, 0表示默认,其它数值表示超时时间,单位是毫秒 param: initHandler 客户端连接建立后,初始化化函数 param: handler 客户端逻辑处理函数 param: panicHandler panic时处理函数,传空则使用默认panic 处理函数 return t tcpServer 对象

func (*TCPServer) CloseClientConn

func (t *TCPServer) CloseClientConn(client *TCPTransfer)

关闭指定客户端

func (*TCPServer) CloseServer

func (t *TCPServer) CloseServer() (err error)

关闭服务器监听

func (*TCPServer) FlushTcpClientActiveTime

func (t *TCPServer) FlushTcpClientActiveTime(connkey string)

刷新TCP 服务中的客户端连接活跃时间

func (*TCPServer) Run

func (t *TCPServer) Run() (err error)

启动TCP 服务

type TCPTransfer

type TCPTransfer struct {
	// 连接对象
	Conn net.Conn
	// 传输时的缓冲
	Buf [Buf_Len_1024 * 2]byte
	// 连接关闭标识: true: 连接开启, false : 连接关闭
	ConnState bool
	// 连接唯一标识
	ConnKey string
	// 客户端上一次活动时间(单位:ms)
	ClientLastActiveTime int64
}

tcp连接信息结构体

func NewTCPTransfer

func NewTCPTransfer(conn net.Conn) *TCPTransfer

func (*TCPTransfer) CloseConn

func (t *TCPTransfer) CloseConn() (err error)

与服务器断开连接

type UDPClient

type UDPClient struct {
	Addr    *net.UDPAddr       // ip:port
	Handler func(*UDPTransfer) // 每次收到服务端信息后,执行的处理信息函数
}

func NewUDPClient

func NewUDPClient(addr string, handler func(*UDPTransfer)) (*UDPClient, error)

创建UDP 客户端连接对象并返回 handler 函数,主要用于客户端收到服务器消息后的处理函数 返回 UDPClient 对象

func (*UDPClient) Conn

func (uCli *UDPClient) Conn() error

客户端与服务器建连接 连接创建之后,进行回调处理服务器消息函数

type UDPServer

type UDPServer struct {
	// UDP没有listener
	Addr        *net.UDPAddr // ip:port
	InitHandler func(*UDPTransfer) error
	Handler     func(*UDPTransfer)
}

func NewUDPServer

func NewUDPServer(addr string, initHandler func(*UDPTransfer) error, handler func(transfer *UDPTransfer)) (*UDPServer, error)

NewUDPServer 创建UDP服务并返回对象

func (*UDPServer) Run

func (uServ *UDPServer) Run() (err error)

启动UDP服务

type UDPTransfer

type UDPTransfer struct {
	// 连接对象 UDP这边的Conn是struct TCP那边的Conn是Interface
	Conn *net.UDPConn
	// 传输时的缓冲
	Buf [Buf_Len_1024 * 2]byte
}

udp连接信息结构体

func NewUDPTransfer

func NewUDPTransfer(conn *net.UDPConn) *UDPTransfer

func (*UDPTransfer) ClientCloseConn

func (uTrans *UDPTransfer) ClientCloseConn() error

客户端关闭conn

func (*UDPTransfer) ServerCloseConn

func (uTrans *UDPTransfer) ServerCloseConn() error

服务端断开conn

Jump to

Keyboard shortcuts

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