package entity import ( "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 { logging.Error( err) } } return nil }