Files
bl/common/data/entity/conn.go
昔念 449552bea7 refactor(logic): 重构逻辑处理和错误处理机制
- 新增 Conn 结构体的 NewConn 工厂方法
- 优化 Controller 中的 Recv 方法,增加错误处理逻辑
- 修改 GetServer、Login、MapHot 等方法的返回值类型
- 重构 SystemTimeInfo 方法,使用新的 OutInfo 接口
- 更新 CommendSvrInfo 结构体和相关方法
- 统一错误处理机制,使用新的 OutInfo 接口
2025-07-25 22:50:08 +08:00

36 lines
816 B
Go

package entity
import (
"fmt"
"github.com/gobwas/ws"
"github.com/gobwas/ws/wsutil"
"github.com/panjf2000/gnet/v2"
"github.com/panjf2000/gnet/v2/pkg/logging"
)
type Conn struct {
MainConn gnet.Conn `struc:"[0]pad"` //TODO 不序列化,,序列化下面的作为blob存数据库
}
func NewConn(c gnet.Conn) *Conn {
return &Conn{MainConn: c}
}
func (c *Conn) SendPack(bytes []byte) error {
if c.MainConn.Context().(*ClientData).Getwsmsg().Upgraded {
// This is the echo server
err := wsutil.WriteServerMessage(c.MainConn, ws.OpBinary, bytes)
if err != nil {
logging.Infof("conn[%v] [err=%v]", c.MainConn.RemoteAddr().String(), err.Error())
return err
}
} else {
_, err := c.MainConn.Write(bytes)
if err != nil {
fmt.Println(err)
}
}
return nil
}