websocket/abstract/IWebsocket.go

71 lines
1.7 KiB
Go

// Package abstract...
//
// Description : 长连接模块的基础约束
//
// Author : go_developer@163.com<张德满>
//
// Date : 2021-03-27 6:32 下午
package abstract
import (
"github.com/go-developer/websocket/config"
"github.com/go-developer/websocket/context"
)
// IWebsocket 接口约束
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:35 下午 2021/3/27
type IWebsocket interface {
// Connect 建立连接时,处理的方法
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:39 下午 2021/3/27
Connect(ctx *context.WSContext) error
// Disconnect 断开连接时处理的方法
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:40 下午 2021/3/27
Disconnect(ctx *context.WSContext)
// Close 关闭连接
//
// Author : go_developer@163.com<张德满>
//
// Date : 8:43 下午 2021/3/27
Close(ctx *context.WSContext, code int, message string) error
// HandshakeURL 注册的websocket路由
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:45 下午 2021/3/27
HandshakeURL() []string
// GetCommandList 注册长连接模块支持的命令
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:48 下午 2021/3/27
GetCommandList() []ICommand
// GetModuleFlag 获取模块标识,全局唯一
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:50 下午 2021/3/27
GetModuleFlag() string
// GetServerPort 获取长连接监听的端口,多个模块可监听不同的端口
//
// Author : go_developer@163.com<张德满>
//
// Date : 6:55 下午 2021/3/27
GetServerPort() int
// GetWSServerConfig 获取WS-Server的配置
//
// Author : go_developer@163.com<张德满>
//
// Date : 7:01 下午 2021/4/17
GetWSServerConfig() []config.SetWSServerConfig
}