修改导表工具,修改websocket协议的钩子

This commit is contained in:
ayflying
2025-04-09 16:50:54 +08:00
parent 09a9f14a29
commit 366ddb45ea
3 changed files with 54 additions and 24 deletions

View File

@@ -1,16 +1,26 @@
package websocket
import "context"
// 定义一个处理方法的类型
type Handler func(ctx context.Context, req any) (err error)
type Handler func(conn *WebsocketData, req any) (err error)
type OnConnectHandler func(conn *WebsocketData)
// 路由器的处理映射
var (
handlers = make(map[int]Handler)
handlers = make(map[int]Handler)
OnConnectHandlers = make([]OnConnectHandler, 0)
OnCloseHandlers = make([]OnConnectHandler, 0)
)
// 注册方法将某个消息路由器ID和对应的处理方法关联起来
func (s *SocketV1) RegisterRouter(cmd int, handler Handler) {
handlers[cmd] = handler
}
//注册方法,讲长连接登陆方法进行注册
func (s *SocketV1) RegisterOnConnect(_func OnConnectHandler) {
OnConnectHandlers = append(OnConnectHandlers, _func)
}
func (s *SocketV1) RegisterOnClose(_func OnConnectHandler) {
OnCloseHandlers = append(OnCloseHandlers, _func)
}