Appearance
网络模块
基本介绍
网络模块(network)作为网关服(gate)和测试客户端(client)的核心模块,主要负责为各种客户端提供连接和通信支持。目前框架已提供了 TCP、KCP、WS 三种常用的网络层支持。你可以根据自生业务需要来选择合适的网络模块,也可以根据框架的网络层接口来实现自己的网络模块。
网络服务器示例
网络服务器主要作为网关服(gate)的网络模块而存在,这里就不再做相关示例的文档说明,如需了解如何使用可以移步网关服务器
自定义网络服务器
如果你想在自己的业务中使用自定义的网络服务器,你可以通过实现以下接口来构建一个属于自己的网络服务器库,然后应用到自己的网关服(gate)上。
go
type (
StartHandler func()
CloseHandler func()
ConnectHandler func(conn Conn)
DisconnectHandler func(conn Conn)
ReceiveHandler func(conn Conn, msg []byte)
)
type Server interface {
// Addr 监听地址
Addr() string
// Start 启动服务器
Start() error
// Stop 关闭服务器
Stop() error
// Protocol 协议
Protocol() string
// OnStart 监听服务器启动
OnStart(handler StartHandler)
// OnStop 监听服务器关闭
OnStop(handler CloseHandler)
// OnConnect 监听连接打开
OnConnect(handler ConnectHandler)
// OnReceive 监听接收消息
OnReceive(handler ReceiveHandler)
// OnDisconnect 监听连接断开
OnDisconnect(handler DisconnectHandler)
}
网络客户端示例
网络客户端主要作为测试客户端(client)的网络模块而存在,这里就不再做相关示例的文档说明,如需了解如何使用可以移步测试客户端
自定义网络客户端
如果你想在自己的业务中使用自定义的网络客户端,你可以通过实现以下接口来构建一个属于自己的网络客户端库,然后应用到自己的测试客户端(client)上。
go
type Client interface {
// Dial 拨号连接
Dial(addr ...string) (Conn, error)
// Protocol 协议
Protocol() string
// OnConnect 监听连接打开
OnConnect(handler ConnectHandler)
// OnReceive 监听接收消息
OnReceive(handler ReceiveHandler)
// OnDisconnect 监听连接断开
OnDisconnect(handler DisconnectHandler)
}