fix: ws接收消息处理改为函数回调易于扩展

This commit is contained in:
TsMask
2024-10-10 20:39:15 +08:00
parent 4f9f91ea5a
commit 9127865b12
6 changed files with 338 additions and 318 deletions

View File

@@ -149,8 +149,8 @@ func (s *WS) ClientClose(clientID string) {
}
// ClientReadListen 客户端读取消息监听
// receiveType 根据接收类型进行消息处理
func (s *WS) ClientReadListen(wsClient *model.WSClient, receiveType int) {
// receiveFn 接收函数进行消息处理
func (s *WS) ClientReadListen(wsClient *model.WSClient, receiveFn func(*model.WSClient, model.WSRequest)) {
defer func() {
if err := recover(); err != nil {
logger.Errorf("ws ReadMessage Panic Error: %v", err)
@@ -175,21 +175,13 @@ func (s *WS) ClientReadListen(wsClient *model.WSClient, receiveType int) {
continue
}
// 接收器处理
switch receiveType {
case ReceiveCommont:
go NewWSReceive.Commont(wsClient, reqMsg)
case ReceiveShell:
go NewWSReceive.Shell(wsClient, reqMsg)
case ReceiveShellView:
go NewWSReceive.ShellView(wsClient, reqMsg)
case ReceiveTelnet:
go NewWSReceive.Telnet(wsClient, reqMsg)
}
go receiveFn(wsClient, reqMsg)
}
}
}
// ClientWriteListen 客户端写入消息监听
// wsClient.MsgChan <- msgByte 写入消息
func (s *WS) ClientWriteListen(wsClient *model.WSClient) {
defer func() {
if err := recover(); err != nil {

View File

@@ -14,13 +14,6 @@ import (
"be.ems/src/modules/ws/processor"
)
const (
ReceiveCommont = iota // Commont 接收通用业务处理
ReceiveShell // Shell 接收终端交互业务处理
ReceiveShellView // ShellView 接收查看文件终端交互业务处理
ReceiveTelnet // Telnet 接收终端交互业务处理
)
// 实例化服务层 WSReceive 结构体
var NewWSReceive = &WSReceive{}