Client
目录
列出了该 package 下所有的函数,可通过目录进行快捷跳转 ❤️
展开 / 折叠目录
包级函数定义
| 函数 | 描述 |
|---|---|
| NewClient | 创建客户端 |
| CloneClient | 克隆客户端 |
| NewTCP | 暂无描述... |
| NewUnixDomainSocket | 暂无描述... |
| NewWebsocket | 创建 websocket 客户端 |
结构体定义
| 结构体 | 描述 |
|---|---|
| Client | 客户端 |
| Core | 暂无描述... |
| ConnectionClosedEventHandle | 暂无描述... |
| Packet | 暂无描述... |
| TCP | 暂无描述... |
| UnixDomainSocket | 暂无描述... |
| Websocket | websocket 客户端 |
func NewClient(core Core) *Client
创建客户端
func CloneClient(client *Client) *Client
克隆客户端
func NewTCP(addr string) *Client
func NewUnixDomainSocket(addr string) *Client
func NewWebsocket(addr string) *Client
创建 websocket 客户端
Client
客户端
type Client struct {
*events
core Core
mutex sync.Mutex
closed bool
pool *hub.ObjectPool[*Packet]
loop *writeloop.Channel[*Packet]
loopBufferSize int
block chan struct{}
}
func (*Client) Run(block ...bool) error
运行客户端,当客户端已运行时,会先关闭客户端再重新运行
- block 以阻塞方式运行
func (*Client) RunByBufferSize(size int, block ...bool) error
指定写入循环缓冲区大小运行客户端,当客户端已运行时,会先关闭客户端再重新运行
- block 以阻塞方式运行
func (*Client) IsConnected() bool
是否已连接
func (*Client) Close(err ...error)
关闭
func (*Client) WriteWS(wst int, packet []byte, callback ...func (err error))
向连接中写入指定 websocket 数据类型
- wst: websocket模式中指定消息类型
func (*Client) Write(packet []byte, callback ...func (err error))
向连接中写入数据
func (*Client) GetServerAddr() string
获取服务器地址
Core
type Core struct{}
ConnectionClosedEventHandle
type ConnectionClosedEventHandle struct{}
Packet
type Packet struct {
wst int
data []byte
callback func(err error)
}
TCP
type TCP struct {
conn net.Conn
addr string
closed bool
}
func (*TCP) Run(runState chan error, receive func (wst int, packet []byte))
func (*TCP) Write(packet *Packet) error
func (*TCP) Close()
func (*TCP) GetServerAddr() string
func (*TCP) Clone() Core
UnixDomainSocket
type UnixDomainSocket struct {
conn net.Conn
addr string
closed bool
}
func (*UnixDomainSocket) Run(runState chan error, receive func (wst int, packet []byte))
func (*UnixDomainSocket) Write(packet *Packet) error
func (*UnixDomainSocket) Close()
func (*UnixDomainSocket) GetServerAddr() string
func (*UnixDomainSocket) Clone() Core
Websocket
websocket 客户端
type Websocket struct {
addr string
conn *websocket.Conn
closed bool
mu sync.Mutex
}